RESTfull api 狀態(tài)碼

200 OK - [GET]:服務(wù)器成功返回用戶請(qǐng)求的數(shù)據(jù),該操作是冪等的(Idempotent)。
201 CREATED - [POST/PUT/PATCH]:用戶新建或修改數(shù)據(jù)成功。
202 Accepted - []:表示一個(gè)請(qǐng)求已經(jīng)進(jìn)入后臺(tái)排隊(duì)(異步任務(wù))
204 NO CONTENT - [DELETE]:用戶刪除數(shù)據(jù)成功。
400 INVALID REQUEST - [POST/PUT/PATCH]:用戶發(fā)出的請(qǐng)求有錯(cuò)誤,服務(wù)器沒有進(jìn)行新建或修改數(shù)據(jù)的操作,該操作是冪等的。
401 Unauthorized - [
]:表示用戶沒有權(quán)限(令牌、用戶名、密碼錯(cuò)誤)。
403 Forbidden - [] 表示用戶得到授權(quán)(與401錯(cuò)誤相對(duì)),但是訪問是被禁止的。
404 NOT FOUND - [
]:用戶發(fā)出的請(qǐng)求針對(duì)的是不存在的記錄,服務(wù)器沒有進(jìn)行操作,該操作是冪等的。
406 Not Acceptable - [GET]:用戶請(qǐng)求的格式不可得(比如用戶請(qǐng)求JSON格式,但是只有XML格式)。
410 Gone -[GET]:用戶請(qǐng)求的資源被永久刪除,且不會(huì)再得到的。
422 Unprocesable entity - [POST/PUT/PATCH] 當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),發(fā)生一個(gè)驗(yàn)證錯(cuò)誤。
500 INTERNAL SERVER ERROR - [*]:服務(wù)器發(fā)生錯(cuò)誤,用戶將無法判斷發(fā)出的請(qǐng)求是否成功。

200這個(gè)最容易理解,就是正確的請(qǐng)求返回正確的結(jié)果,如果不想細(xì)分正確的請(qǐng)求結(jié)果都可以直接返回200。

201表示資源被正確的創(chuàng)建。比如說,我們 POST 用戶名、密碼正確創(chuàng)建了一個(gè)用戶就可以返回 201。

202請(qǐng)求是正確的,但是結(jié)果正在處理中,沒法返回對(duì)應(yīng)的結(jié)果。比如說,我們請(qǐng)求一個(gè)需要大量計(jì)算的結(jié)果,但是并沒有計(jì)算結(jié)束時(shí),可以返回這個(gè),這時(shí)候客戶端可以通過輪詢等機(jī)制繼續(xù)請(qǐng)求。

203請(qǐng)求的代理服務(wù)器修改了源服務(wù)器返回的 200 中的內(nèi)容,一般用不到。比如說,我們通過代理服務(wù)器向服務(wù)器 A 請(qǐng)求用戶信息,服務(wù)器 A 正常響應(yīng),但代理服務(wù)器命中了緩存并返回了自己的緩存內(nèi)容,這時(shí)候它返回 203 告訴我們這部分信息不一定是最新的,我們可以自行判斷并處理。

204請(qǐng)求正確,但是沒有需要返回的內(nèi)容。比如說,我們請(qǐng)求刪除某個(gè)用戶,刪除成功可以返回 204。205類似 204,但是要求請(qǐng)求者重置視圖,一般也用不到。比如說,我們請(qǐng)求刪除某個(gè)用戶,服務(wù)器返回 205 的話,我們就刷新現(xiàn)在的用戶列表。

206請(qǐng)求成功,但根據(jù)請(qǐng)求頭只返回了部分內(nèi)容。比如說,我們下載一部片,共有 10 部分,我們把請(qǐng)求也分成了 10 次(防止一次請(qǐng)求過大),這時(shí)候服務(wù)器就可以返回 206 并在其頭部告訴我們這是哪一部分,然后再根據(jù)這個(gè)信息進(jìn)行拼裝。

300請(qǐng)求成功,但結(jié)果有多種選擇。比如說,我們下載一部片,服務(wù)器有 avi、mp4 等格式,這時(shí)候可以返回 300,并在 body 里告知有哪些格式,然后用戶可以根據(jù)這些格式再次請(qǐng)求。

301請(qǐng)求成功,但是資源被永久轉(zhuǎn)移。比如說,我們要下載葫蘆娃,但是由于舊的存儲(chǔ)服務(wù)商漲價(jià)了,現(xiàn)在要使用新的存儲(chǔ)服務(wù)了,要去新地址下載,這時(shí)候可以返回 301,并在 header 的 Location 中告知新的地址,以后也應(yīng)當(dāng)?shù)竭@個(gè)地址下載。

302請(qǐng)求成功,但是資源被臨時(shí)轉(zhuǎn)移了。和 301 不同的是,除非是 HEAD 請(qǐng)求,否則新地址的信息應(yīng)當(dāng)在 body 中返回,并且資源只是臨時(shí)轉(zhuǎn)移,以后不應(yīng)當(dāng)通過新地址來下載。303類似 302,但要求使用 GET 來訪問新的地址來獲取資源。

304請(qǐng)求的資源并沒有被修改過。比如說,我們發(fā)送請(qǐng)求想看看 5.20 后的情侶信息,服務(wù)器查詢沒有新的情侶信息產(chǎn)生,這時(shí)候可以返回 304,然后客戶端可以繼續(xù)用舊的數(shù)據(jù)。

305請(qǐng)求的資源必須通過代理訪問。比如說,我們想請(qǐng)求服務(wù)器 A 上新的 iPhone 的信息,但是需要通過代理服務(wù)器才能訪問,如果直接請(qǐng)求了服務(wù)器 A,沒有經(jīng)過代理服務(wù)器,這時(shí)候服務(wù)器 A 就可以返回 305 從而告訴我們應(yīng)當(dāng)訪問代理服務(wù)器。306不用了。307類似 302,但要求使用原有的請(qǐng)求方式來通過新地址獲取資源。308類似 301,但要求使用原有的請(qǐng)求方式來通過新地址獲取資源。// 分割線

400請(qǐng)求出現(xiàn)錯(cuò)誤,比如請(qǐng)求頭不對(duì)等,所有不想明確區(qū)分的客戶端請(qǐng)求出錯(cuò)都可以返回 400。401沒有提供認(rèn)證信息。比如說,請(qǐng)求的時(shí)候沒有帶上 Token 等。

402為將來的需要所保留的狀態(tài)碼。403請(qǐng)求的資源不允許訪問。比如說,你使用普通用戶的 Token 去請(qǐng)求管理員才能訪問的資源。

404請(qǐng)求的內(nèi)容不存在。

405請(qǐng)求的方法不允許使用。比如說,服務(wù)器只實(shí)現(xiàn)了 PATCH 了局部更新資源,并沒有實(shí)現(xiàn) PUT 來替換資源,而我們使用了 PUT,這時(shí)候服務(wù)器可以返回 405 來告知并沒有實(shí)現(xiàn)對(duì) PUT 的相關(guān)處理。406請(qǐng)求的資源并不符合要求。比如說,我們 header 里請(qǐng)求 JSON 格式的數(shù)據(jù),但是服務(wù)器只有 XML 格式的數(shù)據(jù),這時(shí)候可以返回 406 告知。407類似 401,但是要求必須去同代理服務(wù)器進(jìn)行認(rèn)證。

408客戶端請(qǐng)求超時(shí)。我們想 POST 創(chuàng)建一個(gè)用戶,雖然建立了連接,但是網(wǎng)絡(luò)不好,服務(wù)器在規(guī)定時(shí)間內(nèi)沒有得到我們的請(qǐng)求信息,這時(shí)候服務(wù)器可以返回 408 告訴我們超時(shí)了。然后我們可以重新發(fā)送請(qǐng)求。409請(qǐng)求沖突。比如說,服務(wù)器要求不同用戶不能重名,服務(wù)器已經(jīng)有了一個(gè)名叫小偉的用戶,這時(shí)候我們又想創(chuàng)建一個(gè)名叫小偉的用戶,服務(wù)器可以返回 409,告訴我們沖突了,也可以在 body 中明確告知是什么沖突了。410請(qǐng)求資源曾經(jīng)存在,但現(xiàn)在不存在了。比如說,我們下載葫蘆娃,但是因?yàn)榘鏅?quán)被刪了,下載不了了,這時(shí)候服務(wù)器返回 410,告訴我們洗洗早點(diǎn)睡。411沒有提供請(qǐng)求資源的長(zhǎng)度。比如說,我們下載葫蘆娃,服務(wù)器只允許我們分部分下載,我們?nèi)绻桓嬖V服務(wù)器我們要下載哪部分,服務(wù)器就返回 411 警告我們。412請(qǐng)求的資源不符合請(qǐng)求頭中的 IF-* 的某些條件。比如說,我們下載葫蘆娃,然后在請(qǐng)求頭告知服務(wù)器要 5.20 后更新過的,服務(wù)器沒有,于是返回了 412。413請(qǐng)求體過大。比如說,服務(wù)器要求上傳文件不能超過 5M,但是我們 POST 了 10M,這時(shí)候就返回 413。
414請(qǐng)求的 URI 太長(zhǎng)了。比如說,我們提供了太多的 Query 參數(shù),以至于超過了服務(wù)器的限制,這時(shí)候可以返回 414。415不支持的媒體類型。比如說,我們上傳了一張七娃的 GIF 動(dòng)圖,而服務(wù)器只允許你上傳 PNG 圖片,這時(shí)候就返回 415。416請(qǐng)求的區(qū)間無效。比如說,我們分部分下載時(shí)請(qǐng)求葫蘆娃的 10 分鐘到 12 分鐘的內(nèi)容,但是這部葫蘆娃只有 1 分鐘的內(nèi)容,這時(shí)候就返回 416。417預(yù)期錯(cuò)誤。指服務(wù)器沒法滿足我們?cè)谡?qǐng)求頭里的 Expect 相關(guān)的信息。418我是個(gè)茶壺。這是一個(gè)愚人節(jié)的玩笑,這個(gè)狀態(tài)碼就是用來搞笑的。// 分割線
500服務(wù)器錯(cuò)誤。沒法明確定義的服務(wù)器錯(cuò)誤都可以返回這個(gè)。501請(qǐng)求還沒有被實(shí)現(xiàn)。比如說,我們請(qǐng)求一個(gè)接口來自動(dòng)拒絕項(xiàng)目經(jīng)理的要求,但是這個(gè)接口只是美好的想象,并沒有被實(shí)現(xiàn),這時(shí)候可以返回 501。502網(wǎng)關(guān)錯(cuò)誤。比如說,我們向服務(wù)器 A 請(qǐng)求下載葫蘆娃,但是 A 其實(shí)只是一個(gè)代理服務(wù)器,他得向 B 請(qǐng)求葫蘆娃,但是不知道為啥 B 不理他或者給他錯(cuò)誤,這時(shí)候哦可以 A 返回 502 用來表示 B 這家伙傲嬌了。503服務(wù)暫時(shí)不可用。比如說,服務(wù)器正好在更新代碼重啟。504類似 502,但是這時(shí)候是 B 不理 A,超時(shí)了 。505請(qǐng)求的 HTTP 版本不支持。比如說,現(xiàn)在強(qiáng)行根據(jù) HTTP 1000 來請(qǐng)求。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評(píng)論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,556評(píng)論 3 418
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,463評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,778評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,218評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,436評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,969評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,795評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,993評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,229評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評(píng)論 1 286
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,687評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,990評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,785評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,661評(píng)論 25 708
  • API定義規(guī)范 本規(guī)范設(shè)計(jì)基于如下使用場(chǎng)景: 請(qǐng)求頻率不是非常高:如果產(chǎn)品的使用周期內(nèi)請(qǐng)求頻率非常高,建議使用雙通...
    有涯逐無涯閱讀 2,575評(píng)論 0 6
  • 在我們開發(fā)過程中,尤其是和后臺(tái)調(diào)試接口的時(shí)候,經(jīng)常會(huì)有訪問服務(wù)器失敗的情況,我們打印錯(cuò)誤日志可以看出 后臺(tái)給我們返...
    啊哈哈哈哈哈群閱讀 11,429評(píng)論 4 3
  • 你的每一次自我介紹,其實(shí)都是自我推銷,那么如何顯示你的獨(dú)特之處呢? 第一步,不要做任何會(huì)讓自己感到羞恥的事; 第二...
    大寫的李閱讀 465評(píng)論 0 2