http狀態碼

最近在找工作,遇到一些面試的問題,覺得有必要記錄一下筆記,平時坐車的時候可以翻閱鞏固一下!

http狀態碼是兩次面試都有遇到過,答得也不是很全面,所以淘了一下,也跟大家分享一下。

什么是狀態碼

當發送一個請求時,服務器響應會包含一個狀態碼,這個狀態碼代表請求的結果,由3位數字組成。

狀態碼有哪些

狀態碼總共被分為5大類

1開頭 100-101 信息提示(表示臨時響應并需要請求者繼續執行操作的狀態代碼)
2開頭 200-206 成功(表示成功處理了請求的狀態代碼)
3開頭 300-305 重定向?
4開頭 400-415 客戶端錯誤(這些狀態代碼表示客戶端請求可能出錯,服務器無法處理)
5開頭 500-505 服務器錯誤(服務器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是服務器本身要做響應時出錯,而不是請求出錯)

常見狀態碼

200 OK 服務器成功處理了請求

201 Created 請求成功且服務器已創建了新的資源(上傳文件的時候會返回這個狀態)

301 Moved Permanently/302 Found(重定向)請求的URL已移走。Response中應該包含一個Location URL, 說明資源現在所處的位置,301是永久重定向,如果不清除瀏覽器緩存,之后如果不重定向一樣會重定向,302是暫時重定向,以后不取消重定向,瀏覽器就不會自動跳轉。

304 Not Modified(未修改)客戶的緩存資源是最新的, 要客戶端使用緩存,上段說到3開頭是重定向,應該是告訴瀏覽器重定向到本地緩存,你可以試一下,改變下服務器的響應輸入并且返回304,然后在瀏覽器查看一下response的內容,其實是舊的內容。我了解的判斷是否是最新的一般是通過請求頭上的If-None-Match跟服務器的ETag是否匹配,或者是通過請求頭If-Modified-Since跟服務器Last-Modified進行匹配,不一致就是服務器有更新,需要返回200,一致就返回304。

401 Unauthorized 未授權 (請求要求身份驗證,對于需要登錄的網頁,服務器可能返回此響應)?

403 Forbiden 拒絕(服務器拒絕請求)

404 Not Found 未找到資源(客戶端輸入請求url是不存在)

500 Internal Server Error 服務器內部錯誤(服務器遇到錯誤,無法完成請求,可能是程序發生錯誤,執行到一半發生異常沒有處理)

501 Not Implemented 尚未實施(如果請求的方法錯誤時,可能會出現狀態)

502 Bad Gateway 錯誤網關 (服務器作為網關或代理,從上游服務器收到無效響應,例如nginx代理到php,php沒有開啟的時候,會出現502錯誤)

503 Service Unavailable 服務不可用服務器目前無法使用(由于超載并發數超出范圍、停機維護,一般只是暫時的)

504 Gateway Timeout 網關超時 (服務器作為網關或代理,但是沒有及時從上游服務器收到請求,參考502)

最后

還有一些狀態碼現在沒有遇到,1開頭的看了資料也不太理解怎么產生的,如果你看到這篇文章,可以一起交流。也希望整理到這部分http狀態碼對你以后的工作有所幫助,一起學習交流。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • HTTP狀態碼的分類 HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,后兩個數字沒有分類的...
    薄涼_簡書閱讀 578評論 0 1
  • HTTP狀態碼(HTTP Status Code)表示http服務器對與請求HTTP響應狀態的3位數字代碼。它由 ...
    BeeNoisy閱讀 1,851評論 0 8
  • 轉載自:HTTP狀態碼——AndroidObject HTTP狀態碼(HTTP Status Code)是用以表網...
    TTTqiu閱讀 224評論 0 0
  • 摘自 wiki HTTP狀態碼 1xx消息 這一類型的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,...
    SincereDu閱讀 263評論 0 1
  • 1xx消息 這一類型的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,只包含狀態行和某些可選的響應頭信...
    帥陽閱讀 418評論 0 0