狀態(tài)碼

2018-02-24 15:53 更新

狀態(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)資料:

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號