瀏覽器對於常見HTTP狀態碼的反應


在我們向服務器發送一個HTTP請求時,會經歷tcp連接(三次握手),發送HTTP請求,服務器返回HTTP響應,瀏覽器對響應中的狀態碼進行分析判斷,來確定請求是否成功,是否成功得到我們需要的信息。

那么,對於服務器返回的常見狀態碼,瀏覽器會怎樣應對呢?

1xx:是預留給協議的
2xx:是表示請求成功的
3xx:是表示重定向的
4xx:是客戶端錯誤的
5xx:是服務器端錯誤的

常見狀態碼:

2xx

200:Success。請求成功。

3xx

301:永久重定向。當返回的狀態碼是301時,瀏覽器需要重新發送一個HTTP請求,到服務器返回的新地址。

重定向的原因:

        是為了保持並提高該網站在搜索引擎的排名。兩個不同的url地址被服務器認為是兩個不同的網站,當一個網站因為某些原因變更了他的url,為了保持住他原來的排名,他會在原先的url的服務器做一個設置,當有用戶訪問該網站時(使用舊的url),服務器會返回一個301和一個新的url地址,這樣瀏覽器收到這個狀態碼,便會自動繼續使用新的url發送HTTP請求。

302:臨時重定向。只有在Cache-Control或Expires中進行了指定的情況下,這個響應才是可緩存的。

303:臨時重定向。響應可以在另一個url上被找到,並且客戶端應以GET的方式訪問那個資源,同時,303禁止被緩存;當然,第二個請求(重定向)可能被緩存(如果沒有設置禁止緩存)。

304:禁止包含消息體,文檔內容(自上次訪問以來或根據請求條件)並沒有改變。或者:客戶端有緩沖的文檔並發出了一個條件性的請求。服務器告訴客戶端,原來緩沖的文檔還可以繼續使用。

305:使用代理。

307:臨時重定向。只有在Cache-Control或Expires中進行了指定的情況下,這個響應才是可緩存的。PS:部分瀏覽器不能識別307。

臨時重定向和永久重定向的區別:

        臨時重定向的舊url以后還會用,只是暫時用別的url代替;永久重定向是舊url不再使用,被新的url代替。

4xx

400:錯誤請求,語法或參數有誤。
401:未授權。
403:禁止,拒絕請求。
404:Not Found。沒有找到該頁面。

5xx

500:服務器內部錯誤。
501:不支持當前請求所需要的某個功能。
502:錯誤網關。
503:服務器不可用(超載或停機維護),只是暫時不可用。
504:網關超時。
505:HTTP版本不受支持。

更多HTTP狀態碼的詳細解釋:傳送門

本文鏈接:http://www.cnblogs.com/xsilence/p/6035917.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM