图解 HTTP 笔记(四)——HTTP 状态码
本章主要內容是了解 HTTP 狀態碼的工作機制
狀態碼的職責是當客戶端向服務器端發送請求時,描述返回的請求結果。借助狀態碼,我們可以了解這次請求是否在服務器端得到了正常的處理。
狀態碼從其含以上可以分為五種:
| 1XX | Informational(信息性狀態碼) | 接受的請求正在處理 |
| 2XX | Success(成功狀態碼) | 請求正常處理完畢 |
| 3XX | Redirection(重定向狀態碼) | 需要進行附加操作以完成請求 |
| 4XX | Client Error(客戶端錯誤狀態碼) | 服務器無法處理請求 |
| 5XX | Server Error(服務端錯誤狀態碼) | 服務器處理請求出錯 |
下面介紹一下常用的一些狀態碼。
一、2XX 成功
1.1 200 OK
表示從客戶端發送的請求被服務器正常處理了。
1.2 204 No Content
該狀態碼表示客戶端發送的請求已經在服務器端正常處理了,但是沒有返回的內容,響應報文中不包含實體的主體部分。
一般在只需要從客戶端往服務器端發送信息,而服務器端不需要往客戶端發送內容時使用。
1.3 206 Partial Content
該狀態碼表示客戶端進行了范圍請求,而服務器端執行了這部分的 GET 請求。響應報文中包含由 Content-Range 指定范圍的實體內容。
二、3XX 重定向
3XX 響應狀態碼表示瀏覽器需要執行某些特殊的處理以正確處理請求。
2.1 301 Moved Permanently
永久性重定向。
該狀態碼表示請求的資源已經被分配了新的 URI,以后應使用資源指定的 URI。新的 URI 會在 HTTP 響應頭中的 Location 首部字段指定。
2.2 302 Found
臨時重定向。
該狀態碼表示請求的資源被分配到了新的 URI,希望用戶(本次)能使用新的 URI 訪問資源。
和 302 Moved Permanently 狀態碼相似,但是 302 代表的資源不是被永久重定向,只是臨時性質的。
2.3 303 See Other
該狀態碼表示由于請求對應的資源存在著另一個 URI,應使用 GET 方法定向獲取請求的資源。
303 狀態碼和 302 Found 狀態碼有著相似的功能,但是 303 狀態碼明確表示客戶端應當采用 GET 方法獲取資源。
當 301、302、303 響應狀態碼返回時,幾乎所有的瀏覽器都會把 POST 改成 GET,并刪除請求報文內的主體,之后請求會再次自動發送。
301、302 標準是禁止將 POST 方法變成 GET 方法的,但實際大家都會這么做。
2.4 304 Not Modified
該狀態碼表示客戶端發送附帶條件的請求時(GET 請求包含 If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since 中任一首部)服務端允許訪問請求訪問資源,但因為請求沒有滿足條件,所以發生 304 Not Modified 重定向,直接使用客戶端緩存的資源。
2.5 307 Temporary Redirect
臨時重定向。
該狀態碼與 302 Found 有著相同含義,盡管 302 標準禁止 POST 變成 GET,但是實際使用時還是這樣做了。
307 會遵守瀏覽器標準,不會從 POST 變成 GET。但是對于處理請求的行為時,不同瀏覽器還是會出現不同的情況。
三、4XX 客戶端錯誤
4XX 的結果表明客戶端是發生錯誤的原因所在。
3.1 400 Bad Request
該狀態碼表示請求報文中存在語法錯誤。當錯誤發生時,需修改請求的內容后再次發送請求。
3.2 401 Unauthorized
該狀態碼表示請求需要通過認證。
3.3 403 Forbidden
該狀態碼表明請求資源的訪問被服務器拒絕了,服務器端沒有必要給出詳細理由,但是可以在響應報文實體的主體中進行說明。
3.4 Not Found
該狀態碼表明服務器上無法找到請求的資源。
四、5XX 服務端錯誤
5XX 的響應結果表明服務端本身發生了錯誤。
4.1 500 Internet Server Error
該狀態碼表明服務端在執行請求時存在錯誤,也有可能是 Web 應用存在的 bug 或者某些臨時故障。
4.2 503 Service Unavailable
該狀態碼表明服務器暫時處于超負載或正在進行停機維護,現在無法處理請求。
轉載于:https://www.cnblogs.com/DM428/p/11203706.html
總結
以上是生活随笔為你收集整理的图解 HTTP 笔记(四)——HTTP 状态码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ActiveState Komodo I
- 下一篇: 作为面试官的一点小感想