超文本鏈接是World Wide Web的基礎(chǔ)。但是如果沒有404錯(cuò)誤的話,我們所熟悉的互聯(lián)網(wǎng)就不會(huì)有今天的規(guī)模和繁榮。Jesse Dunietz回顧了404錯(cuò)誤的誕生歷史,并且對它給出了一個(gè)充滿哲學(xué)意義的極高評價(jià):404之于萬維網(wǎng),就像0之于數(shù)學(xué)。無用之用,方為大用。原文發(fā)表在《大眾機(jī)械》上,標(biāo)題為:How the 404 Error Created the World Wide Web
404錯(cuò)誤顯然是項(xiàng)創(chuàng)新,但是如果沒有它的話,你所了解和喜愛的互聯(lián)網(wǎng)就不可能出現(xiàn)。 它是每個(gè)網(wǎng)上沖浪者的禍害,是互聯(lián)網(wǎng)上你害怕聽到的指甲刮黑板聲。只要你點(diǎn)擊任何創(chuàng)建日期要追溯到2005年以前的鏈接,單擊幾乎任何可追溯到2005年之前的鏈接,下面這行字的出現(xiàn)幾乎是不可避免:“HTTP 404錯(cuò)誤:頁面未找到。” 只要上過網(wǎng)的人應(yīng)該都熟悉404錯(cuò)誤,這是Web服務(wù)器告訴你此路不通的方式。不過鮮為人知的是,WWW之所以存在正是因?yàn)檫@個(gè)錯(cuò)誤。 超鏈接的歷史 我們先來談?wù)劤溄印N覀兺詾槲覀兯^的web——由大量相互鏈接的網(wǎng)頁組成的集合——是互聯(lián)網(wǎng)連接的產(chǎn)物。或者換句話說:首先出現(xiàn)了允許計(jì)算機(jī)之間交換數(shù)據(jù)的通信網(wǎng)絡(luò),然后在此之上我們建立了一個(gè)相互連接的迷宮,里面放滿了文檔和阿貓阿狗的視頻等。實(shí)際上,反過來才是正確的。超文本或有課跟蹤鏈接到其他內(nèi)容的文本這種想法,比聯(lián)網(wǎng)計(jì)算機(jī)的想法要早好幾十年。
Vannevar Bush基于縮微膠片的memex信息機(jī)器的概念圖,來自1945年他在《大西洋月刊》上發(fā)表的文章。 超文本至少可以追溯到1945年,當(dāng)時(shí)技術(shù)先驅(qū)Vannevar Bush提出了一種超文本增強(qiáng)型的縮微膠卷機(jī)器,他稱之為“Memex(記憶的延伸)”。Bush設(shè)想在縮微膠卷的邊緣留一小塊,然后按照用戶的指示,memex可以在膠卷的邊緣打上相關(guān)膠卷的地址代碼。此后任何時(shí)候,觀看同一張縮微膠片的人都可以馬上拉開鏈接的面板。 但是Bush的想法太過超前了,直到1960年代以前,他的想法都一直只是個(gè)空想。隨著數(shù)字計(jì)算機(jī)的騰飛,真正的超文本很快就變成了現(xiàn)實(shí)。IT傳奇人物Ted Nelson借鑒了Bush的想法,構(gòu)思了一個(gè)野心勃勃的超文本概念,叫做Xanadu項(xiàng)目,盡管直到1998年它才得以部分實(shí)現(xiàn)。不過,到了60年代后期, Nelson跟人一起開發(fā)了一套不太復(fù)雜的超文本系統(tǒng),可支持文檔內(nèi)的鏈接。 與此同時(shí),早期人機(jī)交互領(lǐng)域的佼佼者之一, Douglas Engelbart 正在研究其革命性的NLS(oNLine System)。NLS有許多突破性的功能,其中之一是該系統(tǒng)允許用戶使用超鏈接在文檔中跳轉(zhuǎn)。所以說,早在1980年代中期的時(shí)候,超文本系統(tǒng)就在Nelson、Engelbart及其后繼的工作中出現(xiàn)了。 現(xiàn)代網(wǎng)絡(luò)慢慢成形 不過這些系統(tǒng)存在一定能夠的局限性,最大的限制是它們僅限在單臺(tái)計(jì)算機(jī)上有效。比方說,蘋果公司的HyperCard維護(hù)了一個(gè)便簽卡數(shù)據(jù)庫,但是該數(shù)據(jù)庫只能鏈接到同一設(shè)備上面的其他便簽卡片。但是隨著計(jì)算機(jī)網(wǎng)絡(luò)的興起,很自然就會(huì)擴(kuò)展到從一臺(tái)計(jì)算機(jī)上的文檔鏈接到另一臺(tái)計(jì)算機(jī)上的文檔。即便如此,直到1989年,CERN的承包商伯納斯·李(Tim Berners-Lee)才發(fā)明了萬維網(wǎng)。 2009年,伯納斯·李在一場回憶HTTP誕生的TED演講中說:“令人沮喪的是,有太多的潛力沒有釋放出來。大家的磁盤有很多文檔。如果設(shè)想所有這些都屬于一個(gè)架設(shè)在空中的(比如互聯(lián)網(wǎng))的龐大的虛擬文檔系統(tǒng)的一部分的話,那大家的日子就會(huì)好過多了。” 但是,這個(gè)想法要大范圍的落地生根,還缺了點(diǎn)東西。這個(gè)東西就是404錯(cuò)誤。 在伯納斯·李之前,超文本系統(tǒng)通常都要確保每個(gè)鏈接都指向某個(gè)地方。所有新鏈接都要添加到一個(gè)記錄文檔和鏈接的中心數(shù)據(jù)庫里面。如果鏈接的目標(biāo)已經(jīng)變更或刪除的話,數(shù)據(jù)庫也必須相應(yīng)更新鏈接。 如果設(shè)想所有這些都屬于一個(gè)架設(shè)在空中的(比如互聯(lián)網(wǎng))的龐大的虛擬文檔系統(tǒng)的一部分的話,那大家的日子就會(huì)好過多了。 保持超鏈接的一致性對用戶很有幫助。當(dāng)所有數(shù)據(jù)都駐留在一臺(tái)計(jì)算機(jī)或一個(gè)小型網(wǎng)絡(luò)上時(shí),這么做也不是什么難事。但是如果是在一個(gè)大型計(jì)算機(jī)網(wǎng)絡(luò)里面,你就得需要一個(gè)中心的權(quán)威機(jī)構(gòu)來注冊登記所有的文檔和鏈接。沒有一個(gè)數(shù)據(jù)庫能夠做到實(shí)時(shí)更新全球所有的鏈接情況。 這個(gè)問題在好一段時(shí)間都幾乎沒怎么受到關(guān)注。大多數(shù)研究人員的關(guān)注焦點(diǎn)仍然是記錄卡,幫助應(yīng)用和其他小型系統(tǒng)上。一些項(xiàng)目的確允許在沒有中央機(jī)構(gòu)的情況下從一臺(tái)機(jī)器到另一臺(tái)機(jī)器的單向鏈接,但是這樣做有個(gè)前提,那就是假定這些鏈接是作為團(tuán)隊(duì)緊密的文檔創(chuàng)作過程的一部分予以維護(hù)的。 結(jié)果表明,解決這個(gè)問題其實(shí)有一個(gè)簡單得多的辦法。 “404 Not Found”的誕生 伯納斯-李提出了驗(yàn)證鏈接的一個(gè)絕妙的簡便方法:無需驗(yàn)證。 在World Wide Web的美麗新世界里,有關(guān)鏈接的信息唯一的存放之地就是包含鏈接的文檔。如果目標(biāo)文檔已經(jīng)移動(dòng)或變更的話,那就得由鏈接文檔進(jìn)行相應(yīng)更新。或者放手不管——什么都不做。 當(dāng)然,這種做法意味著鏈接指向的地方可能不存在。這樣一來,就出現(xiàn)了404錯(cuò)誤。伯納斯·李支持內(nèi)容不見這種概念,他還給出了發(fā)生錯(cuò)誤時(shí)應(yīng)該返回的官方錯(cuò)誤代碼。 那么404的數(shù)字是從是哪兒來的呢?聽起來好像是隨便起的,但事實(shí)并非如此。伯納斯-李的超文本傳輸協(xié)議(HTTP)里面有幾十種狀態(tài)代碼。以4開頭的代碼針對的是用戶端錯(cuò)誤,而請求一個(gè)不存在的地址(“04”那部分)只是瀏覽的時(shí)候可能會(huì)搞砸的許多種方式之一。 從某種意義上來說,404之于超文本就像而0之于數(shù)學(xué):當(dāng)然,這似乎很明顯,但是把它正式化并且建立起概念卻把系統(tǒng)的其他部分都給革命了。 有了伯納斯-李的創(chuàng)新后,超文本文檔就可以鏈接到自己知道地址的任何其他文檔。比方說,如果您想鏈接到本文,你不需要獲得我的許可或跟《大眾機(jī)械》協(xié)調(diào)。你做就行了。如果我們在沒有設(shè)置重定向的情況下下修改了URL,或者刪掉了本文,你就會(huì)收到錯(cuò)誤消息。 這種獨(dú)立性是此后web欣欣向榮的關(guān)鍵因素之一。在幾年之內(nèi),世界陷入到瘋狂的網(wǎng)頁和單向鏈接海洋。 當(dāng)出現(xiàn)404錯(cuò)誤時(shí),網(wǎng)站顯示自定義的頁面是一種時(shí)髦。甚至連希拉里·克林頓的競選網(wǎng)站也弄了個(gè)404喜劇動(dòng)作片。 從某種意義上來說,404之于超文本就像而0之于數(shù)學(xué):當(dāng)然,這似乎很明顯,但是把它正名化并且建立起概念卻把系統(tǒng)的其他部分都給革命了。 盡管這種新方案非常出色,但也存在一些問題,主要就是鏈接無效。隨著時(shí)間的流逝,頁面會(huì)遷移,網(wǎng)站會(huì)替換自己的內(nèi)容,甚至整個(gè)網(wǎng)站都會(huì)脫機(jī),從而導(dǎo)致指向它們的鏈接觸礁。研究發(fā)現(xiàn),已發(fā)布的鏈接至少有50%會(huì)在五到十年內(nèi)失效。不過至少一些網(wǎng)站做出了一些有創(chuàng)意的嘗試,用自定義的404錯(cuò)誤頁面來款待我們。 有一些技術(shù)可以避免鏈接無效,比方說小心地選擇鏈接URL,或者更大包大攬一點(diǎn)的做法:歸檔所有內(nèi)容。但是對于Web而言,偶爾出現(xiàn)點(diǎn)404引發(fā)的鬼臉,不過是沒完沒了的新聞、知識(shí)以及貓咪模因需要付出的一點(diǎn)代價(jià)而已。 |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長網(wǎng)微信