1、404 Not Found
上網沖浪的時候,不管是“網頁迷路了”還是“網頁乘坐火箭飛向太空”,頁面都有一個神秘數字“404”。
相信對404,大部分人已經不陌生了。一旦它出現,就意味着:我們想要訪問的頁面找不到了。
那麼,404到底是什麼?又是什麼原因導緻404的發生呢?
其實,404是網頁服務器無法找到用戶請求的文檔時發出的HTTP(Hyper Text Transfer Protocol,超文本傳輸協議)狀态碼。出現404頁面就是為了提醒用戶網頁發生了錯誤。 導緻這種錯誤發生的原因可能是:
- 網頁數據被更改、或者上傳到網頁的文件目錄/文件名稱被更改,導緻網頁失效。
- 網頁文件被移動或删除,導緻原鍊接失效。
- 我們自己輸入的網址有錯誤,不能鍊接到所需的文件。
- 你壓根沒插網線或者家裡Wi-Fi信号太差。
- ……
總之,404就是網頁向你發出了“此路不通”的信号。
2、502 Bad Gateway
除了404,還有一個最常見的HTTP狀态碼——502。之前某站不能訪問的時候,網友們紛紛發聲:剛開始頁面出現404以為是自己的原因,後來刷出來502,知道不是自己的原因就放心了。
因為502代碼表示内部網絡故障或設置問題,即内部網絡擁塞。
通常是網絡内部存在大量的數據調用或交互時,網頁内容提供方的一個或兩個服務器,由于性能缺陷或程序錯誤,無法正常運行,使得網頁上的内容無法被傳輸到用戶的浏覽器上。
說人話就是服務器崩了、網站挂了。此種情況在搶票、某個熱點事件爆發時都很常見。。。
這個時候我們能做的就是刷新網頁、重新打開頁面、以及耐心的等待。
由此可知,404和502這兩種HTTP狀态碼在本質上是有很大不同的,下面我們繼續了解下其它HTTP狀态碼。
3、HTTP狀态碼
超文本傳輸協議HTTP本身是一個簡單的請求-響應協議,規定了網頁服務器和浏覽器之間的信息傳遞規範。HTTP狀态碼(HTTP Status Code)是網頁服務器響應信息的一部分,是用來表示超文本傳輸協議響應狀态的3位數字代碼。
當你訪問一個網頁時,浏覽器會向網頁所在服務器發出請求。該網頁所在的服務器接收和解釋請求消息之後,會返回一個包含HTTP狀态碼的響應信息用以響應浏覽器的請求。
我們訪問網頁時,服務器都會通過HTTP狀态碼向我們傳達簡單的信息。狀态碼既可以指明具體請求是否已成功,又可以揭示請求失敗的确切原因。
4、常見狀态碼
HTTP狀态碼被記錄在服務器日志中,同時也可能在客戶端顯示,就是打開頁面出錯時,浏覽器顯示的錯誤信息代碼,比如大家看到的404或502。
狀态碼的第一個數字代表了服務器響應的狀态,目前常見的響應狀态有5種。
除了前面提到的404和502,以下9個常見的狀态碼應該能讓你對狀态碼有更直觀的感受。
1、100 Continue(繼續)
客戶端已接收部分請求,并準備好接收剩下的部分,請求者需要繼續提出請求。
2、200 OK(請求成功)
服務器已成功處理了請求,可以正常打開網頁啦(或者請求的文件)。
3、206 Partial Content(部分内容)
服務器成功處理了部分GET請求。HTTP下載工具(比如迅雷)都是使用這類響應實現斷點續傳或者将一個大文檔分解為多個下載段同時下載的。
4、301 Moved Permanently(永久移動)
被請求的資源已永久移動到新位置,響應信息中會包括新的URI(Uniform Resource Identifier,統一資源标識符),浏覽器會自動定向到新URI。今後任何對此資源的請求都應使用新的URI代替。
5、302 Found(發現)
服務器要求客戶端執行臨時重定向(原始描述短語為“Moved Temporarily”)。服務器臨時從不同位置的網頁響應請求,但是這樣的重定向是臨時的,之後的請求客戶端仍應向原有地址發送。
6、400 Bad Request(錯誤請求)
服務器通過返回400錯誤告訴客戶端,客戶端的請求語法出錯,服務器端無法理解。
7、401 Unauthorized(未經授權)
服務器要求客戶端進行身份驗證,錯誤的登錄嘗試是導緻這一錯誤的主要原因。
8、403 Forbidden(禁止訪問)
服務器理解了你的請求,但是拒絕執行。任何登錄對403錯誤都不起作用,嘗試訪問被禁止的網站目錄時,就會發生403錯誤。
9、500 Internal Server Error(内部服務器錯誤)
服務器内部的錯誤導緻無法完成請求,一般來說,可能是服務器的程序碼出錯。例如,網頁服務器過載時将無法正确處理訪問請求。
簡單來說,1、2、3開頭的狀态碼我們不用關心,4、5開頭的稍微留意下就行了。
如果看到這裡你對狀态碼還有興趣,小編整理了一份狀态碼清單,可以了解一下哦~~
(來源:中興文檔)
,