Hi,大家好,我是源于花海。本文主要了解常用的 14 個 HTTP 狀態(tài)碼。當瀏覽者訪問一個網(wǎng)頁時,瀏覽者的瀏覽器會向網(wǎng)頁所在服務器發(fā)出請求。當瀏覽器接收并顯示網(wǎng)頁前,此網(wǎng)頁所在的服務器會返回一個包含 HTTP 狀態(tài)碼的信息頭(server header)用以響應瀏覽器的請求。
目錄
一、HTTP 狀態(tài)碼
二、HTTP 狀態(tài)碼分類
2XX 請求成功
(1)200 - OK(請求成功)
(2)204 - No Content(無內容)
(3)206 - Partial Content(部分內容)
3XX 重定向
(4)301 - Moved Permanently(永久移動)
(5)302 - Found(臨時移動)
(6)303 - See Other(查看其他地址)
(7)304 - Not Modified(未修改)
(8)307 - Temporary Redirect(臨時重定向)
4XX 客戶端錯誤
(9)400 - Bad Request(錯誤請求)
(10)401 - Unauthorized(未經(jīng)授權)
(11)403 - Forbidden(拒絕請求)
(12)404 - Not Found(無法找到)
5XX 服務器錯誤
(13)500 - Internal Server Error(內部服務器錯誤)
(14)503 - Service Unavailable(服務不可用)
一、HTTP 狀態(tài)碼
HTTP 狀態(tài)碼的英文為?HTTP Status Code。HTTP狀態(tài)碼是服務器返回給客戶端的,其核心作用是 web 服務器來告訴客戶端,當前網(wǎng)頁發(fā)生的什么事,或者說當前 web 服務器的響應狀態(tài)。所以HTTP狀態(tài)碼常用來判斷和分析當前 web 服務器的運行狀況。?
下面是常見的 HTTP 狀態(tài)碼:
- 200 - 請求成功
- 301 - 資源(網(wǎng)頁等)被永久轉移到其它URL
- 404 - 請求的資源(網(wǎng)頁等)不存在
- 500 - 內部服務器錯誤
二、HTTP 狀態(tài)碼分類
HTTP 狀態(tài)碼由三個十進制數(shù)字組成,第一個十進制數(shù)字定義了狀態(tài)碼的類型,后兩個數(shù)字沒有分類的作用。響應分為五類:信息響應(100–199),成功響應(200–299),重定向(300–399),客戶端錯誤(400–499)和服務器錯誤 (500–599):
類別 | 分類描述 | |
1xx | Information(信息狀態(tài)碼) | 接受的請求正在處理 |
2xx | Success(成功狀態(tài)碼) | 請求正常處理完畢 |
3xx | Redirection(重定向狀態(tài)碼) | 需要進行附加操作以完成請求 |
4xx | Client Error(客戶端錯誤狀態(tài)碼) | 服務器無法處理請求 |
5xx | Server Error(服務端錯誤狀態(tài)碼) | 服務器處理請求出錯 |
HTTP 狀態(tài)碼常見列表:
2XX 請求成功
2XX 的響應結果表明請求被正常處理。
(1)200 - OK(請求成功)
200表示請求在服務器端被正常處理。一般用于 GET 與 POST 請求。在響應報文內,隨狀態(tài)碼一起返回的信息會因方法的不同而發(fā)生改變。
(2)204 - No Content(無內容)
204表示服務器接收的請求已經(jīng)成功處理,但是在返回的響應報文中不含實體的主體部分。另外,也不允許返回任何實體的主體。當瀏覽器在發(fā)送請求后接收到204響應,它的顯示頁面不會發(fā)生更新。
通常應用在只需要客戶端往服務端發(fā)送信息,而服務端不需要發(fā)送新信息的情況下使用。
(3)206 - Partial Content(部分內容)
206表示客戶端進行了范圍請求,而服務器成功執(zhí)行了這部分的GET請求。響應報文內包含由Content-Range指定范圍的實體內容。
3XX 重定向
3XX 響應結果表明瀏覽器需要執(zhí)行某些特殊的處理以正確處理請求。
(4)301 - Moved Permanently(永久移動)
永久重定向,301狀態(tài)碼表示請求的資源已經(jīng)分配了新的URI,以后請求該資源應該訪問新的URI。也就是說,如果已經(jīng)把資源對應的 URI保存為書簽了,這時應該按 Location 首部字段提示的 URI 重新保存。
(5)302 - Found(臨時移動)
臨時重定向,302表示請求的資源已經(jīng)被分配了新的URI,希望客戶端本次能使用新的URI訪問。和301不同的是,這種資源的URI變更是臨時的額,而不是永久的,因此不用去更新書簽。
(6)303 - See Other(查看其他地址)
該狀態(tài)碼和 302 有著異曲同工之妙,表示由于請求對應的資源存在著另一個 URI,應使用 GET 方法定向獲取請求的資源。
如果瀏覽器原本是用 POST 方法去請求服務器,收到303狀態(tài)碼之后,會改用 GET 并訪問資源新的URI。
(7)304 - Not Modified(未修改)
304 狀態(tài)碼表示客戶端發(fā)送附帶條件的請求時,服務器端允許請求訪問資源,但未滿足條件的情況。例如,客戶端請求的資源在客戶端本地已有緩存,會在請求頭部中加入 "If-Modified-Since"、 "If-None-Match" 等字段,服務端根據(jù)這些字段信息判斷這些資源信息是否經(jīng)過修改,如果沒有則返回 304 狀態(tài)碼,客戶端可以直接使用緩存中的資源。
304 狀態(tài)碼返回時,不包含任何響應的主體部分。304 雖然被劃分在 3XX 類別中,但是和重定向沒有關系。
PS:附帶條件的請求是指采用GET方法的請求報文中包含 If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since 中任一首部。
(8)307 - Temporary Redirect(臨時重定向)
臨時重定向,和 302 Found 狀態(tài)碼有相同的含義。區(qū)別在于 307 不會強制瀏覽器將 POST 方法改為 GET 方法,而是遵循瀏覽器自身的標準。
4XX 客戶端錯誤
4XX 的響應結果表明客戶端是發(fā)生錯誤的原因所在。
(9)400 - Bad Request(錯誤請求)
400 狀態(tài)碼表示請求報文中存在語法錯誤。當錯誤發(fā)生時,需修改請求的內容后再次發(fā)送請求。另外,瀏覽器會像 200 OK 一樣對待該狀態(tài)碼。
(10)401 - Unauthorized(未經(jīng)授權)
401 狀態(tài)碼表示發(fā)送的請求需要有通過 HTTP 認證(BASIC 認證、DIGEST 認證)的認證信息。第一次收到 401 狀態(tài)碼表示需要進行用戶認證,第二次再收到 401 狀態(tài)碼說明用戶認證失敗。
(11)403 - Forbidden(拒絕請求)
403 狀態(tài)碼表明對請求資源的訪問被服務器拒絕,當未獲得文件系統(tǒng)的訪問授權,訪問權限出現(xiàn)某些問題(從未授權的發(fā)送源 IP 地址試圖訪問)等列舉的情況都可能發(fā)生 403 。
(12)404 - Not Found(無法找到)
404 是我們最常見的狀態(tài)碼之一,它表示服務器上無法找到請求資源。此外,也可能是服務器端在拒絕請求且不想說明原因的時候使用。
5XX 服務器錯誤
5XX 的響應結果表明服務器本身發(fā)生錯誤。
(13)500 - Internal Server Error(內部服務器錯誤)
500 狀態(tài)碼表明服務器端在執(zhí)行請求時發(fā)生了錯誤。也有可能是 Web 應用存在的 bug 或某些臨時的故障。文章來源:http://www.zghlxwxcb.cn/news/detail-803272.html
(14)503 - Service Unavailable(服務不可用)
503 狀態(tài)碼表明服務器暫時處于超負載或正在進行停機維護,現(xiàn)在無法處理請求。文章來源地址http://www.zghlxwxcb.cn/news/detail-803272.html
到了這里,關于HTTP | 常用的 14 個 HTTP 狀態(tài)碼的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!