相信很多人在上網(wǎng)的時候都會遇到“403、404”之類的提示,那你知道這些數(shù)字代表什么意思嗎?
其實這些數(shù)字并不是毫無規(guī)律隨機出現(xiàn)的,而是表示網(wǎng)頁服務器超文本傳輸協(xié)議響應狀態(tài)的3位數(shù)字代碼,即HTTP狀態(tài)碼。不同狀態(tài)碼代表不同的服務器響應狀態(tài),如上面提到的最常見的“404”,表示在服務器上沒有找到請求的資源。
HTTP狀態(tài)碼雖然只有短短3位數(shù),然而全部狀態(tài)碼種類卻有50多種,接下來小編就為大家介紹幾種常見的HTTP狀態(tài)碼。
HTTP狀態(tài)碼的第一個數(shù)字代表了響應的五種狀態(tài)之一。
開頭為1表示消息:
此類狀態(tài)碼說明訪問請求已被接受,等待進一步處理。由于 HTTP/1.0 協(xié)議中沒有定義任何 1xx 狀態(tài)碼,所以除非在某些試驗條件下,服務器禁止向此類客戶端發(fā)送 1xx 響應。
開頭為2表示成功:
此類狀態(tài)碼代表請求已成功被服務器接收、理解、并接受。最典型的是200 OK,顯而易見,此狀態(tài)碼表示請求成功,回答的響應頭或數(shù)據(jù)體將隨此相應返回,這一狀態(tài)碼表示了服務系統(tǒng)的正常狀態(tài)。
開頭為3表示重定向:
此類狀態(tài)碼表示客戶端需要采取進一步的操作才能完成請求,通常這些狀態(tài)碼用來重定向,后續(xù)的請求地址即重定向后的目標地址,會在本次響應中指明。最常見的是301和302狀態(tài),兩者分別表示永久重定向和臨時重定向。不管是永久還是臨時,對用戶而言兩者沒什么區(qū)別,都是在訪問A網(wǎng)站的時候跳轉(zhuǎn)到了B網(wǎng)站,并看到瀏覽器上的地址欄變成了B網(wǎng)站的地址。但是搜索引擎是要建立索引規(guī)則和權(quán)重的,如果網(wǎng)站A被設定為永久重定向到B,那搜索引擎可以確定A的地址永久改變了,就會把B當作唯一有效的目標地址,這是搜索引擎會把老地址的PageRank等信息帶到新地址,同時在搜索引擎索引庫中徹底廢棄掉原先的老地址。所以,所以只要網(wǎng)站不是臨時性遷移,都會做301重定向。
開頭為4表示請求錯誤:
此類狀態(tài)碼表示客戶端處可能存在一定錯誤,妨礙了服務器的處理,這些狀態(tài)碼往往伴隨解釋當前錯誤狀況的實體,并標明該狀況是臨時性還是永久性。以4開頭的狀態(tài)碼往往很常見也最不招人待見,其中最為臭名昭著的便是403 Forbidden和404 Not Found。403狀態(tài)表示服務器已經(jīng)理解請求,但是拒絕執(zhí)行,403的出現(xiàn),大部分是沒有對文件進行授權(quán);404狀態(tài)表示請求失敗,并未在目標服務器處找到請求希望的資源,當我們訪問一個不存在的文件時,就會出現(xiàn)這個錯誤。
開頭為5表示服務器錯誤:
此類狀態(tài)碼表示服務器處理請求的過程中有錯誤或異常狀態(tài)發(fā)生,抑或是表示服務器認為無法完成對請求的處理。此類狀態(tài)碼最常見的是502 Bad Gateway,其表示作為網(wǎng)關(guān)或代理工作的服務器嘗試執(zhí)行請求時,從遠程服務器接收到無效的響應。Nginx 502錯誤的原因比較多,是因為在代理模式下后端服務器出現(xiàn)問題引起的。這些錯誤一般都不是Nginx本身的問題,一定要從后端找原因。