「 圖解HTTP 」 讀書筆記第 四 章

返回結果的 HTTP 狀態碼

1. 狀態碼告知從服務器端返回的處理結果

狀態碼的職責是當客戶端向服務器發送請求時,描述返回的請求結果。

狀態碼描述請求.png

狀態碼如 200 OK,以 3 位數字和原因短語組成。

數字中第一位指定了響應類別,后兩位無分類。響應類別有以下五種。

類別 原因短語
1XX Informational (信息性狀態碼) 接受的請求正在處理
2XX Success (成功狀態碼) 請求信息正常處理完畢
3XX Redirection (重定向狀態碼) 需要進行附加操作完成操作請求
4XX Client Error (客戶端錯誤狀態碼) 服務器無法處理請求
5XX Server Error (服務器錯誤狀態碼) 服務器處理請求出錯

2. 2XX 成功

2XX 的響應結果表明請求被正常處理了。

  • 200 OK

    200 Ok.png

    表示從客戶端發來的請求在服務器端被正常處理了。

  • 204 No Content

    204.png

    該狀態碼代表服務器接受的請求已成功處理,但在返回的響應報文中不包含實體的主體部分,也不允許返回任何實體的主體。

    一般在只需要客戶端往服務器發送消息,而對客戶端不需要發送新消息內容的情況下調用。

  • 206 Partial Content

    206.png

    該狀態碼表示客戶端進行了范圍請求,而服務器成功執行了這部分的 GET 請求。響應報文中包含由 Content-Range 指定范圍的實體內容。

3. 3XX 重定向

3XX 響應結果表明瀏覽器需要執行某些特殊的處理以正確處理請求。

  • 301 Moved Permanently

    301.png

    永久性重定向,該狀態碼表示請求的資源已被分配了新的 URI,以后應使用資源現在所指的 URI。

  • 302 Found

    302.png

    臨時性重定向,改狀態碼表示請求的資源已被分配了新的 URI,希望用戶能使用新的 URI 訪問。

    302 狀態碼代表的資源不是被永久移動,只是臨時性質的。已移動的資源對應的 URI 將來還有可能發生變化。

  • 303 See Other

    303.png

    該狀態碼表示由于請求對應的資源存在著另一個 URI,應使用 GET 方法定向獲取請求的資源。

    303 狀態碼 和 302 狀態碼有著相同的功能,區別在于 303 狀態碼明確表示客戶端應采用 GET 方法獲取資源。

  • 304 Not Modified

    304.png

    該狀態碼表示客戶端發送附帶條件的請求時,服務器端允許請求訪問資源。但未滿足條件的情況,304 狀態碼返回時,不包含任何響應的主體部分。

    附帶條件的請求是指采用 GET 方法的請求報文中包含 If-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since 中任一首部。

    注: 304 狀態碼和重定向無關。

  • 307 Temporary Redirect

    臨時重定向,與 302 Found 有著相同的含義。盡管 302 標準禁止 POST 變化成 GET,但實際使用并不遵守,307 會遵照瀏覽器標準,不會從 POST 變成 GET。

4. 4XX 客戶端錯誤

4XX 的響應結果表明客戶端是發生錯誤的原因所在。

  • 400 Bad Request

    400.png

    改狀態碼表示請求報文中存在語法錯誤,當錯誤發生時,需要修改請求的內容后再次發送請求。

  • 401 Unauthorized

    401.png

    該狀態碼表示發送的請求需要有通過 HTTP 認證(BASIC 認證、DIGEST 認證)的認證消息。另外若之前已進行過一次 1 次請求,則表示用戶認證失敗。

    返回含有 401 的響應必須包含一個適用于被請求資源的 WWW-Authenticate 首部用以質詢(challenge)用戶消息。當瀏覽器初次接受到 401 響應,會彈出認證用的對話窗口。

  • 403 Forbidden

    403.png

    該狀態碼表明對請求資源的訪問被服務器拒絕了。

  • 404 Not Found

    404.png

    該狀態碼表示服務器上無法找到請求的資源。除此之外,也可以在服務器端拒絕請求并且不想說明理由時使用。

5. 5XX 服務器錯誤

5XX 的響應結果表明服務器本身發生錯誤。

  • 500 Internal Server Erroor

    500.png

    該狀態碼表明服務器端在執行請求時發生了錯誤,也有可能是 Web 應用存在的 bug 或某些臨時的故障。

  • 503 Service unavailable

    503.png

    該狀態碼表明服務器暫時處于超負載或正在進行停機維護,現在無法處理請求。

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

推薦閱讀更多精彩內容

  • 1. 網絡基礎TCP/IP HTTP基于TCP/IP協議族,HTTP屬于它內部的一個子集。 把互聯網相關聯的協議集...
    yozosann閱讀 3,470評論 0 20
  • 本文是《圖解HTTP》讀書筆記的第一篇,主要包括此書的前五章內容,簡要記錄一下。大概分為以下幾部分: TCP/IP...
    lijiankun24閱讀 1,336評論 0 2
  • 網絡基礎知識 URL和URI URI(Uniform Resource Idenifier)統一資源標識符。即由某...
    d9fc24a0c9a9閱讀 1,147評論 0 6
  • 4天讀完 一、了解web及網絡基礎 1.1 三項www構建技術: HTML:超文本標記語言 HTTP:文本傳輸協議...
    15d843cd48a8閱讀 800評論 1 4
  • 堅持寫作三十天,第一天是寫在本子上的,后面的29天,寫在簡書上的。一般是下班后,到家前,便利店,一杯咖啡的時間。有...
    8bc80694e065閱讀 176評論 0 0