常用HTTP狀態(tài)碼

狀態(tài)碼 釋義 使用
100 Continue 表示目前為止一切正常, 客戶端應該繼續(xù)請求, 如果已完成請求則忽略。一般用在這種情況:客戶端在發(fā)送一個大數(shù)據(jù)請求前,希望知道服務器是否會對這個數(shù)據(jù)進行處理。 客戶端必須在發(fā)送請求實體前, 在初始化請求中發(fā)送 Expect: 100-continue 首部并接收 100 Continue 響應狀態(tài)碼.
101 Switching Protocol 協(xié)議切換,狀態(tài)碼表示服務器應客戶端升級協(xié)議的請求正在切換協(xié)議。服務器會發(fā)送一個Upgrade響應頭來表明其正在切換過去的協(xié)議
200 OK 成功

默認情況下狀態(tài)碼為200的響應可以被緩存
GET: 已經(jīng)取得資源,并將資源添加到響應的消息體中。

HEAD: 響應的消息體為頭部信息。

POST: 響應的消息體中包含此次請求的結果。

TRACE: 響應的消息體中包含服務器接收到的請求信息。

PUTDELETE 的請求成功通常并不是響應200 OK的狀態(tài)碼而是 204 No Content 表示無內(nèi)容(或者 201 Created表示一個資源首次被創(chuàng)建成功)。
201 Created 成功并創(chuàng)建了新的資源。

同時新增的資源會在應答消息體中返回,其地址或者是原始請求的路徑,或者是 Location 首部的值。
設計 REST API,或者一個 CRUD API,使用 POST(或者 PUT)成功創(chuàng)建一個新的資源后,服務器應該返回 201 Created 同時在 header 的 Location 字段給出剛剛創(chuàng)建好的這個資源的 URI。
202 Accepted 成功,但是服務器仍在進行處理。

表示服務器端已經(jīng)收到請求消息,但是尚未進行處理。
服務器在接受請求后,可以先返回202告訴客戶端已經(jīng)收到消息,但是有一個異步處理還在繼續(xù)處理
203 Non-Authoritative Information 成功,非權威信息。

狀態(tài)碼表明請求是成功的,但是通過轉換代理(RFC7230的5.7.2節(jié))已經(jīng)從源服務器的200 (OK)響應中修改了所包含的有效負載。
204 No Content 成功,沒有內(nèi)容返回。

但是客戶端客戶不需要離開當前頁面。默認情況下 204 響應是可緩存的。一個 ETag 標頭包含在此類響應中。
205 Reset Content 成功,客戶端進行重置操作。

用來通知客戶端重置文檔視圖,比如清空表單內(nèi)容、重置 canvas 狀態(tài)或者刷新用戶界面。
常用204代替
206 Partial Content 部分成功。

header必須包含 Range 首部,表明自己請求第幾個字節(jié)到第幾個字節(jié)的內(nèi)容,如果服務器支持,響應主體包含range首部請求的數(shù)據(jù)。

如果只包含一個數(shù)據(jù)區(qū)間,那么整個響應的 Content-Type 首部的值為所請求的文件的類型,同時包含 Content-Range 首部。

如果包含多個數(shù)據(jù)區(qū)間,那么整個響應的 Content-Type 首部的值為 multipart/byteranges ,其中一個片段對應一個數(shù)據(jù)區(qū)間,并提供 Content-RangeContent-Type 描述信息。
只包含一個數(shù)據(jù)區(qū)間的響應
包含多個數(shù)據(jù)區(qū)間的響應
常用于斷點續(xù)傳和多線程下載
301 Moved Permanently 永久重定向。

說明請求的資源已經(jīng)被移動到了由 Location 頭部指定的url上,是固定的不會再改變。搜索引擎會根據(jù)該響應修正。

盡管標準要求瀏覽器在收到該響應并進行重定向時不應該修改http method和body,但是有一些瀏覽器可能會有問題。所以最好是在應對GETHEAD 方法時使用301,其他情況使用308 來替代301
----
302 Found 臨時重定向

請求的資源被暫時的移動到了由Location 頭部指定的 URL 上。瀏覽器會重定向到這個URL, 但是搜索引擎不會對該資源的鏈接進行更新
----
303 See Other GET重定向到相關頁面

它表示重定向鏈接指向的不是新上傳的資源,而是另外一個頁面,比如消息確認頁面或上傳進度頁面。而請求重定向頁面的方法要總是使用 GET。
304 Not Modified 未改變

無需再次傳輸請求的內(nèi)容,也就是說可以使用緩存的內(nèi)容。

通常是在此請求下會返回304:使用 GETHEAD等安全方法(safe),或是在請求中附帶了頭部信息: If-None-MatchIf-Modified-Since

如果資源沒被修改過,服務器端就應該返回 304 Not Modified,同時 body 不包含任何內(nèi)容

如果修改過,則返回 200 OK ,響應會帶有頭部 Cache-Control, Content-Location, Date, ETag, Expires,和 Vary.
很多瀏覽器的 開發(fā)者工具 會發(fā)出額外的請求,以達到 304 的目的,這樣可以把資源以本地緩存的形式展現(xiàn)給開發(fā)者。
307 Temporary Redirect 臨時重定向

請求的資源暫時地被移動到了響應的 Location 首部所指向的 URL 上。

狀態(tài)碼 307302之間的唯一區(qū)別在于,當發(fā)送重定向請求的時候,307 狀態(tài)碼可以確保請求方法和消息主體不會發(fā)生變化。如果使用 302 響應狀態(tài)碼,一些舊客戶端會錯誤地將請求方法轉換為 GET
308 Permanent Redirect 永久重定向

請求的資源已經(jīng)被永久的移動到了由 Location 首部指定的 URL 上。瀏覽器會進行重定向,同時搜索引擎也會更新其鏈接
在重定向過程中,請求方法和消息主體不會發(fā)生改變,然而在返回 301狀態(tài)碼的情況下,請求方法有時候會被客戶端錯誤地修改為GET方法。
400 Bad Request 錯誤的請求

由于請求語法無效(例如,格式錯誤的請求語法,太大的大小,無效的請求消息或欺騙性路由請求),服務器不能或不會處理該請求。
401 Unauthorized 未授權

客戶端錯誤,指的是由于缺乏目標資源要求的身份驗證憑證,發(fā)送的請求未得到滿足。

這個狀態(tài)碼會與 WWW-Authenticate 首部一起發(fā)送,其中包含有如何進行驗證的信息。
響應示例
這個狀態(tài)類似于 403, 但是在該情況下,依然可以進行身份驗證。
403 Forbidden 拒絕訪問

客戶端錯誤,指的是服務器端有能力處理該請求,但是拒絕授權訪問。
這個狀態(tài)類似于 401,但進入該狀態(tài)后不能再繼續(xù)進行驗證。該訪問是長期禁止的,并且與應用邏輯密切相關(例如不正確的密碼)

總的說401相應應該用來表示缺失或錯誤的認證,403表示用戶認證后,但權限不足,無法對該資源進行操作
404 Not Found 資源不存在

客戶端錯誤,指的是服務器端無法找到所請求的資源。返回該響應的鏈接通常稱為壞鏈(broken link)或死鏈(dead link),它們會導向鏈接出錯處理頁面。
404 狀態(tài)碼并不能說明請求的資源是臨時還是永久丟失。如果服務器知道該資源是永久丟失,那么應該返回 410 (Gone) 而不是 404 。
405 Method Not Allowed HTTP請求方法禁用
407 Proxy Authentication Required 缺少代理認證 這個狀態(tài)碼會與 Proxy-Authenticate首部一起發(fā)送,其中包含有如何進行驗證的信息。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容