在網絡上發送請求後,經常會根據請求的狀态碼去判斷請求的成功失敗與否,常見的狀态碼有200,404,500。
不過你以為HTTP請求的狀态碼就隻有這麼幾個麼?其實是遠遠比這個多的。
今天這篇文章我們就一起來看看HTTP請求中常用的狀态碼吧。
HTTP狀态碼
2XX-請求成功以2開頭的2XX類的狀态碼,都表示請求成功,服務器正确執行了請求的操作。例如POST請求,在請求體中發送的數據會被服務器端正确的處理,例如寫數據庫操作。
在2XX類的狀态碼中,最常見的就是200了,至少在我目前是沒有見過請求成功後,狀态碼不是200的。因此我們隻需要知道200的狀态碼表示的含義即可。
狀态碼200
3XX-重定向以3開頭的3XX類的狀态碼,都表示請求重定向,服務器端會返回信息告知浏覽器如何做後續操作才能成功處理請求。
接下來我們看看有哪些需要掌握的3XX狀态碼。
301-永久重定向
301狀态碼表示的是資源永久重定向,比如請求資源A的URI-A1,但是服務器端返回301,并指定了一個新的URI-A2,這就表示以後請求資源A,就隻能用URI-A2了。
狀态碼301
302-臨時重定向
302狀态碼表示的是資源的臨時重定向,比如請求資源A的URI-A1,但是服務器端返回301,并指定了一個新的URI-A2,這時資源的位置臨時用URI-A2表示,以後有可能還會進行更改,因此這個URI-A2并不是永久的。
狀态碼302
303-請求其他資源
303狀态碼表示在服務端找到你需要的資源,但是這個資源存在另一個URI,而且希望客戶端在後續的請求中使用GET方法去請求返回的新URI。
狀态碼303
4XX-客戶端錯誤以4開頭的4XX類的狀态碼,都表示是客戶端的錯誤。
401-未認證
401表示服務端需要客戶端提供一些認證信息,如果認證不通過,将無法向服務器端發送請求。這種情況尤其會出現在浏覽器首次發送請求時,服務器端需要客戶端的認證信息,最直觀的信息是會在浏覽器上彈出一個輸入框,需要用戶填寫認證信息。
狀态碼401
403-被拒絕
403表示服務器端拒絕接受客戶端發送過來的請求,而且一般不會給出提示原因,為何給予拒絕。
不過一般會是因為用戶無權限訪問造成的。在我工作過程中,經常會遇到403的問題,因為我們對接口的權限管理很嚴格,如果新增的接口沒有正确配置權限,就會造成403的問題。
狀态碼403
404-資源不存在
404可能是所有程序員最熟悉的狀态碼了吧,無需過多描述,就是請求的資源在服務器端不存在,一般為請求的URL不對。
狀态碼404
405-不允許使用該方法
405表示的是請求的URL雖然能被服務器識别,但是不允許使用該方法。
需要注意的是:GET和HEAD方法,服務器端總是會允許執行的。
出現405狀态碼的常見原因是,當服務端定義的請求類型與客戶端發送的類型不一緻,比如服務器端定義的方法為POST,而客戶端發送請求類型是GET。
5XX服務器端錯誤以5開頭的5XX型狀态碼都表示服務器端錯誤。
500-服務器内部錯誤
500狀态碼表示的是服務器内部執行異常,一般都表現為程序上的bug,例如代碼在執行過程中抛出異常,例如常見的空指針。
狀态碼500
502-錯誤網關
502狀态碼一般會展現bad gateway錯誤網關類型的信息。
主要是由于客戶端向服務器端請求超時,比如在服務器端網絡狀況不好的情況下,同時又有多個客戶端向服務器端發送請求,會造成服務器端資源不夠,無法正常響應,便會返回這個結果。
一般最簡單的解決方就是刷新的方式,有很多由于有緩存的情況,直接從本地拿數據,就不會再報502錯誤。
503-服務不可用
503狀态碼表示服務器無法處理請求,一般表現為服務器宕機或者處于超負荷狀态。不過這一般都是暫時性的情況,在服務重啟或者負載均衡處理後,服務會繼續處于可用狀态。
狀态碼503
504-網關超時
504狀态碼一般網關在轉發過程中,超過設定的時間仍未收到上遊服務器的響應。
結束語今天這篇文章主要介紹了一些常用的HTTP狀态碼,這些狀态碼會經常用于判斷服務的可用性上,也很方便的适用于前後端聯調時出錯的判斷,大家要好好掌握~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!