1. 程式人生 > >http響應狀態碼 總結

http響應狀態碼 總結

響應狀態碼 

和請求報文相比,響應報文多了一個“響應狀態碼”,它以“清晰明確”的語言告訴客戶端本次請求的處理結果。 

HTTP的響應狀態碼由5段組成: 
 

  • 1xx 訊息,一般是告訴客戶端,請求已經收到了,正在處理,別急...
  • 2xx 處理成功,一般表示:請求收悉、我明白你要的、請求已受理、已經處理完成等資訊.
  • 3xx 重定向到其它地方。它讓客戶端再發起一個請求以完成整個處理。
  • 4xx 處理髮生錯誤,責任在客戶端,如客戶端的請求一個不存在的資源,客戶端未被授權,禁止訪問等。
  • 5xx 處理髮生錯誤,責任在服務端,如服務端丟擲異常,路由出錯,HTTP版本不支援等。



以下是幾個常見的狀態碼: 

200 OK 

你最希望看到的,即處理成功! 

303 See Other 

我把你redirect到其它的頁面,目標的URL通過響應報文頭的Location告訴你。 
 

引用

悟空:師傅給個桃吧,走了一天了 
唐僧:我哪有桃啊!去王母娘娘那找吧



304 Not Modified 

告訴客戶端,你請求的這個資源至你上次取得後,並沒有更改,你直接用你本地的快取吧,我很忙哦,你能不能少來煩我啊! 

404 Not Found 

你最不希望看到的,即找不到頁面。如你在google上找到一個頁面,點選這個連結返回404,表示這個頁面已經被網站刪除了,google那邊的記錄只是美好的回憶。 

500 Internal Server Error

 

看到這個錯誤,你就應該查查服務端的日誌了,肯定丟擲了一堆異常,別睡了,起來改BUG去吧! 

 

1xx(臨時響應)表示臨時相應並需要請求者繼續執行操作

    100--(繼續)請求者應當繼續提出請求。伺服器返回此程式碼表示已收到請求的第一部分,正在等待其餘部分
    101--(切換協議)請求者已要求伺服器切換協議,伺服器已確認並準備切換


2xx(成功))表示成功處理了請求的狀態程式碼。程式碼說明200(成功)伺服器已成功處理了請求。通常,這表示伺服器提供了請求的網頁

    201--(已建立)請求成功並且伺服器建立了新的資源
    202--(已接受)伺服器已接受請求,但尚未處理
    203--(已接受)伺服器已接受請求,但尚未處理
    204--(無內容)伺服器成功處理了請求,但沒有返回任何內容
    205--重置內容)伺服器成功處理了請求,但沒有返回任何內容
    206--(部分內容)伺服器成功處理了部分GET請求


3xx(重定向)表示要完成請求,需要進一步操作。通常,這些狀態程式碼用來重定向。程式碼說明300(多種選擇)針對請求,伺服器可執行多種操作。伺服器可根據請求者(user agent)選擇一項操作,或提供操作列表供請求者選擇

    301--(永久移動)請求的網頁已永久移動到新位置。伺服器返回此響應(對GET或HEAD請求的響應)時,會自動將請求者轉到新位置
    302--(臨時移動)伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求
    303--(檢視其他位置)請求者應當對不同的位置使用單獨的GET請求來檢索響應時,伺服器返回此程式碼
    304--(未修改)自從上次請求後,請求的網頁未修改過。伺服器返回此響應時,不會返回網頁內容
    305--(使用代理)請求者只能使用代理訪問請求的網頁。如果伺服器返回此響應,還表示請求者應使用代理
    307--(臨時重定向)伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求


400(請求錯誤)這些狀態程式碼表示請求可能出錯,妨礙了伺服器的處理

    400--(錯誤請求))伺服器不理解請求的語法
    401--(未授權)請求要求身份驗證。對於需要登入的網頁,伺服器可能返回此響應
    403--(禁止)伺服器拒絕請(沒有許可權)
    404--(未找到)伺服器找不到請求的網頁
    405--(方法禁用)禁用請求中指定的方法
    406--(不接受)無法使用請求的內容特性響應請求的網頁
    407--(需要代理授權)此狀態程式碼與401(未授權)類似但指定請求者應當授權使用代理
    408--(請求超時)伺服器等候請求時發生超時
    409--(衝突)伺服器在完成請求時發生衝突。伺服器必須在響應中包含有關衝突的資訊
    410--(已刪除)如果請求的資源已永久刪除,伺服器就會返回此響應
    411--(需要有效長度)伺服器不接受不含有效內容長度標頭欄位的請求
    412--(需要有效長度)伺服器不接受不含有效內容長度標頭欄位的請求
    413--(請求實體過大)伺服器無法處理請求,因為請求實體過大,超出伺服器的處理能力
    414--(請求的URI過長)請求的URI(通常為網址)過長,伺服器無法處理
    415--(不支援的媒體型別)請求的格式不受請求頁面的支援
    416--(請求範圍不符合要求)如果頁面無法提供請求的範圍,則伺服器會返回此狀態程式碼
    417--(未滿足期望值)伺服器未滿足"期望"請求標頭欄位的要求
    419--(在larvel框架中出現過)csrf防護問題


5xx(伺服器錯誤))這些狀態程式碼表示伺服器在嘗試處理請求時發生內部錯誤。這些錯誤可能是伺服器本身的錯誤,而不是請求出錯

    500--(伺服器內部錯誤)伺服器遇到錯誤,無法完成請求
    501--(尚未實施)伺服器不具備完成請求的功能。例如,伺服器無法識別請求方法時可能會返回此程式碼
    502--(錯誤閘道器)伺服器作為閘道器或代理,從上游伺服器收到無效響應
    503--(服務不可用)伺服器目前無法使用(由於超載或停機維護)。通常,這只是暫時狀態
    504--(閘道器超時)伺服器作為閘道器或代理,但是沒有及時從上游伺服器收到請求
    505--(HTTP版本不受支援)伺服器不支援請求中所用的HTTP協議版本