狀態(tài)碼
請求成功
- 200?OK?: 請求執(zhí)行成功并返回相應(yīng)數(shù)據(jù),如?
GET
?成功
- 201?Created?: 對象創(chuàng)建成功并返回相應(yīng)資源數(shù)據(jù),如?
POST
?成功;創(chuàng)建完成后響應(yīng)頭中應(yīng)該攜帶頭標(biāo)?Location
?,指向新建資源的地址
- 202?Accepted?: 接受請求,但無法立即完成創(chuàng)建行為,比如其中涉及到一個需要花費若干小時才能完成的任務(wù)。返回的實體中應(yīng)該包含當(dāng)前狀態(tài)的信息,以及指向處理狀態(tài)監(jiān)視器或狀態(tài)預(yù)測的指針,以便客戶端能夠獲取最新狀態(tài)。
- 204?No Content?: 請求執(zhí)行成功,不返回相應(yīng)資源數(shù)據(jù),如?
PATCH
?,?DELETE
?成功
重定向
重定向的新地址都需要在響應(yīng)頭?Location
?中返回
- 301?Moved Permanently?: 被請求的資源已永久移動到新位置
- 302?Found?: 請求的資源現(xiàn)在臨時從不同的 URI 響應(yīng)請求
- 303?See Other?: 對應(yīng)當(dāng)前請求的響應(yīng)可以在另一個 URI 上被找到,客戶端應(yīng)該使用?
GET
?方法進行請求
- 307?Temporary Redirect?: 對應(yīng)當(dāng)前請求的響應(yīng)可以在另一個 URI 上被找到,客戶端應(yīng)該保持原有的請求方法進行請求
條件請求
- 304?Not Modified?: 資源自從上次請求后沒有再次發(fā)生變化,主要使用場景在于實現(xiàn)數(shù)據(jù)緩存
- 409?Conflict?: 請求操作和資源的當(dāng)前狀態(tài)存在沖突。主要使用場景在于實現(xiàn)并發(fā)控制
- 412?Precondition Failed?: 服務(wù)器在驗證在請求的頭字段中給出先決條件時,沒能滿足其中的一個或多個。主要使用場景在于實現(xiàn)并發(fā)控制
客戶端錯誤
- 400?Bad Request?: 請求體包含語法錯誤
- 401?Unauthorized?: 需要驗證用戶身份,如果服務(wù)器就算是身份驗證后也不允許客戶訪問資源,應(yīng)該響應(yīng)?
403 Forbidden
- 403?Forbidden?: 服務(wù)器拒絕執(zhí)行
- 404?Not Found?: 找不到目標(biāo)資源
- 405?Method Not Allowed?: 不允許執(zhí)行目標(biāo)方法,響應(yīng)中應(yīng)該帶有?
Allow
?頭,內(nèi)容為對該資源有效的 HTTP 方法
- 406?Not Acceptable?: 服務(wù)器不支持客戶端請求的內(nèi)容格式,但響應(yīng)里會包含服務(wù)端能夠給出的格式的數(shù)據(jù),并在?
Content-Type
?中聲明格式名稱
- 410?Gone?: 被請求的資源已被刪除,只有在確定了這種情況是永久性的時候才可以使用,否則建議使用?
404 Not Found
- 413?Payload Too Large?:?
POST
?或者?PUT
?請求的消息實體過大
- 415?Unsupported Media Type?: 服務(wù)器不支持請求中提交的數(shù)據(jù)的格式
- 422?Unprocessable Entity?: 請求格式正確,但是由于含有語義錯誤,無法響應(yīng)
- 428?Precondition Required?: 要求先決條件,如果想要請求能成功必須滿足一些預(yù)設(shè)的條件
服務(wù)端錯誤
- 500?Internal Server Error?: 服務(wù)器遇到了一個未曾預(yù)料的狀況,導(dǎo)致了它無法完成對請求的處理。
- 501?Not Implemented?: 服務(wù)器不支持當(dāng)前請求所需要的某個功能。
- 502?Bad Gateway?: 作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請求時,從上游服務(wù)器接收到無效的響應(yīng)。
- 503?Service Unavailable?: 由于臨時的服務(wù)器維護或者過載,服務(wù)器當(dāng)前無法處理請求。這個狀況是臨時的,并且將在一段時間以后恢復(fù)。如果能夠預(yù)計延遲時間,那么響應(yīng)中可以包含一個
Retry-After
?頭用以標(biāo)明這個延遲時間(內(nèi)容可以為數(shù)字,單位為秒;或者是一個?HTTP 協(xié)議指定的時間格式)。如果沒有給出這個?Retry-After
?信息,那么客戶端應(yīng)當(dāng)以處理 500 響應(yīng)的方式處理它。
501
?與?405
?的區(qū)別是:405
?是表示服務(wù)端不允許客戶端這么做,501
?是表示客戶端或許可以這么做,但服務(wù)端還沒有實現(xiàn)這個功能
相關(guān)資料:
更多建議: