一文讀懂常見HTTP狀態碼

youbingke發表於2021-03-11

相信很多人在上網的時候都會遇到 403、404 ”之類的提示,那你知道這些數字代表什麼意思嗎?

其實這些數字並不是毫無規律隨機出現的,而是表示網頁伺服器超文字傳輸協議響應狀態的3位數字程式碼,即HTTP狀態碼。不同狀態碼代表不同的伺服器響應狀態,如上面提到的最常見的“404”,表示 在伺服器上沒有找到請求的資源

HTTP 狀態碼雖然只有短短 3 位數,然而全部狀態碼種類卻有 50 多種 ,接下來小編就為大家介紹幾種常見的 HTTP 狀態碼。

HTTP狀態碼的第一個數字代表了響應的五種狀態之一。

開頭為1表示訊息:

此類狀態碼說明訪問請求已被接受,等待進一步處理。由於 HTTP/1.0 協議中沒有定義任何 1xx 狀態碼,所以除非在某些試驗條件下,伺服器禁止向此類客戶端傳送 1xx 響應。

開頭為2表示成功

此類狀態碼代表請求已成功被伺服器接收、理解、並接受。最典型的是200 OK,顯而易見,此狀態碼錶示請求成功,回答的響應頭或資料體將隨此相應返回,這一狀態碼錶示了服務系統的正常狀態。

開頭為3表示重定向:

此類狀態碼錶示客戶端需要採取進一步的操作才能完成請求,通常這些狀態碼用來重定向,後續的請求地址即重定向後的目標地址,會在本次響應中指明。最常見的是301和302狀態,兩者分別表示永久重定向和臨時重定向。不管是永久還是臨時,對使用者而言兩者沒什麼區別,都是在訪問A網站的時候跳轉到了B網站,並看到瀏覽器上的位址列變成了B網站的地址。但是搜尋引擎是要建立索引規則和權重的,如果網站A被設定為永久重定向到B,那搜尋引擎可以確定A的地址永久改變了,就會把B當做唯一有效的目標地址,這是搜尋引擎會把老地址的PageRank等資訊帶到新地址,同時在搜尋引擎索引庫中徹底廢棄掉原先的老地址。所以,所以只要網站不是臨時性遷移,都會做301重定向。

開頭為4表示請求錯誤:

此類狀態碼錶示客戶端處可能存在一定錯誤,妨礙了伺服器的處理,這些狀態碼往往伴隨解釋當前錯誤狀況的實體,並標明該狀況是臨時性還是永久性。以4開頭的狀態碼往往很常見也最不招人待見,其中最為臭名昭著的便是403 Forbidden和404 Not Found。403狀態表示伺服器已經理解請求,但是拒絕執行,403的出現,大部分是沒有對檔案進行授權;404狀態表示請求失敗,並未在目標伺服器處找到請求希望的資源,當我們訪問一個不存在的檔案時,就會出現這個錯誤。

開頭為5表示伺服器錯誤:

此類狀態碼錶示伺服器處理請求的過程中有錯誤或異常狀態發生,抑或是表示伺服器認為無法完成對請求的處理。此類狀態碼最常見的是502 Bad Gateway,其表示作為閘道器或代理工作的伺服器嘗試執行請求時,從遠端伺服器接收到無效的響應。Nginx 502錯誤的原因比較多,是因為在代理模式下後端伺服器出現問題引起的。這些錯誤一般都不是Nginx本身的問題,一定要從後端找原因。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996004/viewspace-2762289/,如需轉載,請註明出處,否則將追究法律責任。

相關文章