狀態(tài)碼

2018-02-24 15:53 更新

狀態(tài)碼

請(qǐng)求成功

  • 200?OK?: 請(qǐng)求執(zhí)行成功并返回相應(yīng)數(shù)據(jù),如?GET?成功
  • 201?Created?: 對(duì)象創(chuàng)建成功并返回相應(yīng)資源數(shù)據(jù),如?POST?成功;創(chuàng)建完成后響應(yīng)頭中應(yīng)該攜帶頭標(biāo)?Location?,指向新建資源的地址
  • 202?Accepted?: 接受請(qǐng)求,但無法立即完成創(chuàng)建行為,比如其中涉及到一個(gè)需要花費(fèi)若干小時(shí)才能完成的任務(wù)。返回的實(shí)體中應(yīng)該包含當(dāng)前狀態(tài)的信息,以及指向處理狀態(tài)監(jiān)視器或狀態(tài)預(yù)測(cè)的指針,以便客戶端能夠獲取最新狀態(tài)。
  • 204?No Content?: 請(qǐng)求執(zhí)行成功,不返回相應(yīng)資源數(shù)據(jù),如?PATCH?,?DELETE?成功

重定向

重定向的新地址都需要在響應(yīng)頭?Location?中返回

  • 301?Moved Permanently?: 被請(qǐng)求的資源已永久移動(dòng)到新位置
  • 302?Found?: 請(qǐng)求的資源現(xiàn)在臨時(shí)從不同的 URI 響應(yīng)請(qǐng)求
  • 303?See Other?: 對(duì)應(yīng)當(dāng)前請(qǐng)求的響應(yīng)可以在另一個(gè) URI 上被找到,客戶端應(yīng)該使用?GET?方法進(jìn)行請(qǐng)求
  • 307?Temporary Redirect?: 對(duì)應(yīng)當(dāng)前請(qǐng)求的響應(yīng)可以在另一個(gè) URI 上被找到,客戶端應(yīng)該保持原有的請(qǐng)求方法進(jìn)行請(qǐng)求

條件請(qǐng)求

  • 304?Not Modified?: 資源自從上次請(qǐng)求后沒有再次發(fā)生變化,主要使用場(chǎng)景在于實(shí)現(xiàn)數(shù)據(jù)緩存
  • 409?Conflict?: 請(qǐng)求操作和資源的當(dāng)前狀態(tài)存在沖突。主要使用場(chǎng)景在于實(shí)現(xiàn)并發(fā)控制
  • 412?Precondition Failed?: 服務(wù)器在驗(yàn)證在請(qǐng)求的頭字段中給出先決條件時(shí),沒能滿足其中的一個(gè)或多個(gè)。主要使用場(chǎng)景在于實(shí)現(xiàn)并發(fā)控制

客戶端錯(cuò)誤

  • 400?Bad Request?: 請(qǐng)求體包含語法錯(cuò)誤
  • 401?Unauthorized?: 需要驗(yàn)證用戶身份,如果服務(wù)器就算是身份驗(yàn)證后也不允許客戶訪問資源,應(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)容為對(duì)該資源有效的 HTTP 方法
  • 406?Not Acceptable?: 服務(wù)器不支持客戶端請(qǐng)求的內(nèi)容格式,但響應(yīng)里會(huì)包含服務(wù)端能夠給出的格式的數(shù)據(jù),并在?Content-Type?中聲明格式名稱
  • 410?Gone?: 被請(qǐng)求的資源已被刪除,只有在確定了這種情況是永久性的時(shí)候才可以使用,否則建議使用?404 Not Found
  • 413?Payload Too Large?:?POST?或者?PUT?請(qǐng)求的消息實(shí)體過大
  • 415?Unsupported Media Type?: 服務(wù)器不支持請(qǐng)求中提交的數(shù)據(jù)的格式
  • 422?Unprocessable Entity?: 請(qǐng)求格式正確,但是由于含有語義錯(cuò)誤,無法響應(yīng)
  • 428?Precondition Required?: 要求先決條件,如果想要請(qǐng)求能成功必須滿足一些預(yù)設(shè)的條件

服務(wù)端錯(cuò)誤

  • 500?Internal Server Error?: 服務(wù)器遇到了一個(gè)未曾預(yù)料的狀況,導(dǎo)致了它無法完成對(duì)請(qǐng)求的處理。
  • 501?Not Implemented?: 服務(wù)器不支持當(dāng)前請(qǐng)求所需要的某個(gè)功能。
  • 502?Bad Gateway?: 作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),從上游服務(wù)器接收到無效的響應(yīng)。
  • 503?Service Unavailable?: 由于臨時(shí)的服務(wù)器維護(hù)或者過載,服務(wù)器當(dāng)前無法處理請(qǐng)求。這個(gè)狀況是臨時(shí)的,并且將在一段時(shí)間以后恢復(fù)。如果能夠預(yù)計(jì)延遲時(shí)間,那么響應(yīng)中可以包含一個(gè)Retry-After?頭用以標(biāo)明這個(gè)延遲時(shí)間(內(nèi)容可以為數(shù)字,單位為秒;或者是一個(gè)?HTTP 協(xié)議指定的時(shí)間格式)。如果沒有給出這個(gè)?Retry-After?信息,那么客戶端應(yīng)當(dāng)以處理 500 響應(yīng)的方式處理它。

501?與?405?的區(qū)別是:405?是表示服務(wù)端不允許客戶端這么做,501?是表示客戶端或許可以這么做,但服務(wù)端還沒有實(shí)現(xiàn)這個(gè)功能

相關(guān)資料:

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)