為什麼瀏覽網頁出現錯誤的時候會報404而不是其他數字?404有怎樣的含義?


這個404實際上是根據萬維網錯誤代碼而得到的:所以404 的含義是:第一個 4 表示客戶端出錯,第二個 0 表示你把網址打錯了;最後表示這個錯誤代碼在 4 開頭的錯誤代碼中排行老四。

以下是搬運的萬維網錯誤代碼:

在默認狀態下,IIS把它的日誌文件放在%WINDIRSystem32Logfiles文件夾中。每個萬維網(WWW)站點和FTP站點在該目錄下都有一個單獨的目錄。在默認狀態下,每天都會在這些目錄下創建日誌文件,並用日期給日誌文件命名(例如,exYYMMDD.log)。
HTTP
1xx-信息提示
這些狀態代碼表示臨時的響應。客戶端在收到常規響應之前,應準備接收一個或多個1xx響應。
100-繼續。
101-切換協議。
2xx-成功
這類狀態代碼表明伺服器成功地接受了客戶端請求。
200-確定。客戶端請求已成功。
201-已創建。
202-已接受。
203-非權威性信息。
204-無內容。
205-重置內容。
206-部分內容。
3xx-重定向
客戶端瀏覽器必須採取更多操作來實現請求。例如,瀏覽器可能不得不請求伺服器上的不同的頁面,或通過代理伺服器重複該請求。
301-對象已永久移走,即永久重定向。
302-對象已臨時移動。
304-未修改。
307-臨時重定向。
4xx-客戶端錯誤
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。400-錯誤的請求。
401-訪問被拒絕。IIS定義了許多不同的401錯誤,它們指明更為具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在IIS日誌中顯示:
401.1-登錄失敗。
401.2-伺服器配置導致登錄失敗。
401.3-由於ACL對資源的限制而未獲得授權。
401.4-篩選器授權失敗。
401.5-ISAPI/CGI應用程序授權失敗。
401.7–訪問被Web伺服器上的URL授權策略拒絕。這個錯誤代碼為IIS6.0所專用。
403-禁止訪問:IIS定義了許多不同的403錯誤,它們指明更為具體的錯誤原因:
403.1-執行訪問被禁止。
403.2-讀訪問被禁止。
403.3-寫訪問被禁止。
403.4-要求SSL。
403.5-要求SSL128。
403.6-IP地址被拒絕。
403.7-要求客戶端證書。
403.8-站點訪問被拒絕。
403.9-用戶數過多。
403.10-配置無效。
403.11-密碼更改。
403.12-拒絕訪問映射表。
403.13-客戶端證書被吊銷。
403.14-拒絕目錄列表。
403.15-超出客戶端訪問許可。
403.16-客戶端證書不受信任或無效。
403.17-客戶端證書已過期或尚未生效。
403.18-在當前的應用程序池中不能執行所請求的URL。這個錯誤代碼為IIS6.0所專用。
403.19-不能為這個應用程序池中的客戶端執行CGI。這個錯誤代碼為IIS6.0所專用。
403.20-Passport登錄失敗。這個錯誤代碼為IIS6.0所專用。
404-未找到。
404.0-(無)–沒有找到文件或目錄。
404.1-無法在所請求的埠上訪問Web站點。
404.2-Web服務擴展鎖定策略阻止本請求。
404.3-MIME映射策略阻止本請求。
405-用來訪問本頁面的HTTP謂詞不被允許(方法不被允許)
406-客戶端瀏覽器不接受所請求頁面的MIME類型。
407-要求進行代理身份驗證。
412-前提條件失敗。
413–請求實體太大。
414-請求URI太長。
415–不支持的媒體類型。
416–所請求的範圍無法滿足。
417–執行失敗。
423–鎖定的錯誤。
5xx-伺服器錯誤
伺服器由於遇到錯誤而不能完成該請求。
500-內部伺服器錯誤。
500.12-應用程序正忙於在Web伺服器上重新啟動。
500.13-Web伺服器太忙。
500.15-不允許直接請求Global.asa。
500.16–UNC授權憑據不正確。這個錯誤代碼為IIS6.0所專用。
500.18–URL授權存儲不能打開。這個錯誤代碼為IIS6.0所專用。
500.100-內部ASP錯誤。
501-頁眉值指定了未實現的配置。
502-Web伺服器用作網關或代理伺服器時收到了無效響應。
502.1-CGI應用程序超時。
502.2-CGI應用程序出錯。application.
503-服務不可用。這個錯誤代碼為IIS6.0所專用。
504-網關超時。
505-HTTP版本不受支持。

到底是誰定義了這些錯誤代碼呢?當然是互聯網之父,發明了第一款瀏覽器的Tim Berners-Lee了!

他發明了萬維網、第一個網路瀏覽器、以及允許網路擴展的基本協議和演算法。

在2016年4月4日,他被授予了「計算機世界的諾貝爾獎」——圖靈獎。~

漲知識了吧~快快關注吧!


這個問題簡單的回答就是,出現404而不是其他的,這是現代HTTP超文本傳輸協議的規定。

當然,這個問題要繼續深入,就需要去問蒂姆·伯納斯·李(Tim Berners-Lee)了。作為萬維網之父,這些返回值基本上都是他在創造這個協議時自己規定的。雖然發展到現在這個傳輸協議更新了很多,但基本的錯誤提示並沒有改變。

無論是404還是其他的代碼,都是Tim Berners-Lee在1992年自己創造超文本傳輸協議時寫下的。世界上第一個網站,http: //info. cern. ch/,就是Tim Berners-Lee創建的,它解釋了萬維網是什麼,如何使用網頁瀏覽器和如何建立一個網頁伺服器等等。

同時,也規定了瀏覽網頁出現錯誤(伺服器無法找到被請求的頁面)的時候會報404而不是其他數字。要想搞明白這個問題,估計需要穿越回去1989年,問問伯納斯·李在Enquire的基礎上提出了利用Hypertext(超文本)重新構造信息系統的設想時是怎麼想的。

1990年,世界上第一個網路伺服器(Web Server)Httpd和第一個客戶端瀏覽編輯程序World Wide Web(WWW)被蒂姆·伯納斯·李創造。在此之後,互聯網得到了廣泛的發展,伯納斯·李又相繼制定了互聯網的URIs、HTTP、HTML等技術規範。

其中就包含,各種404、403等等一直延續至今的技術規範。

互聯網發展到現在,人們已經司空見慣了。當我們每天打開找片,並感嘆著互聯網強大的同時,很少有人想到這一切竟是由蒂姆·伯納斯·李一人之力創造的。

-

頭條號,初始值發布。


這是HTTP協議中規定的狀態返回碼,是用來表示伺服器對HTTP反映狀態的。根據不同的返回狀態分類,數字4開頭代表請求錯誤,恰巧404代表not found。

not found代表的意思是請求失敗,用戶所希望看到的東西沒有在網路資源上發現。這種情況可能是短時間宕機,也有可能是永久性封閉。

正是因為這種不確定性,404這個狀態碼被廣泛應用於當伺服器不想揭示到底為何請求被拒絕或者沒有其他適合的響應可用的情況下。出現這個錯誤的最有可能的原因是伺服器端沒有這個頁面。所以成為了用戶最常見的一種情況。
以上內容代表小編觀點,僅供參考。


404隻是一個編碼,代表訪問的內容找不到;

因為網路訪問技術的複雜性,網路訪問會有很多種結果情況,為了準確識別每一種結果,當時的人就給每一種結果編一個唯一的號碼以示區別,專業術語叫響應狀態碼(http status code)。

剛巧網頁找不到被編到了404,而且這也是大眾最常遇到的。

還有一種常遇到的是500,表示服務端錯誤,比如伺服器奔潰。

編碼有從1xx到5xx很多種,我們正常看到網頁時,編碼是200。有很多編碼我們直觀感受不到,瀏覽器都幫我們處理了。


因為世上本沒有路走的人多了,也就走了路,當你知道404代表錯誤的時候,就表示404有了他自己的意義。所有東西的含義,都是人們自己賦予的,希望能給你不一樣的感悟。


404是錯誤號,一個錯誤號對應一種錯誤,沒找到就是404的釋義,就是地址對應的頁面伺服器上找不到,當然也有假的,比如我就習慣性把亂掃描的,嘗試注入的,嘗試探測的自動拉黑,然後轉404去


推薦閱讀:

Linux 系統下的入侵檢測系統為何現在好像沒多少人搞?
安全領域的 CTF (Capture the Flag) 競賽是怎麼組織?怎麼進行的?
安全團隊的 CTF 得分能代表哪方面的實力水平?
某國公安偵查到該國IM上一則關於搶劫的聊天信息,現實技術上是如何實現的?
Linux 有所謂「天生安全基因」嗎,整體安全性設計是否更優秀?

TAG:網路安全 | 互聯網 | 程序員 |