狀態(tài)碼告知從服務器端放回的請求結果


前提

狀態(tài)碼的職責是當客戶端向服務器端發(fā)送請求的時候缓醋,描述返回的請求結果邑贴。借助狀態(tài)碼,用戶而已知道服務器端是正常處理了請求還是出現(xiàn)了故障宏蛉。


表1.1:狀態(tài)碼的類別

| | | 類別 | 原因短語 |
| :---: | :-----: | :-----: |
| 1XX | Informational(信息性狀態(tài)碼) | 接收的請求正在處理 |
| 2XX | Success(成功狀態(tài)碼) | 請求正常處理完畢 |
| 3XX | Redirection(重定向狀態(tài)碼) | 需要進行附加操作以完成請求 |
| 4XX | Client Error(客戶端錯誤狀態(tài)碼) |服務器無法處理請求 |
| 5XX | Server Error(服務器錯誤狀態(tài)碼) | 服務器處理請求出錯 |

只要遵守狀態(tài)碼類別的定義儿咱,及時改變RFC2616中定義的狀態(tài)碼纸镊,或服務器端自行創(chuàng)建狀態(tài)碼都沒問題

2XX 成功

2XX的響應結果表示請求被正常處理了

200 OK

表明從客戶端發(fā)來的請求在服務器端被正確處理了
在響應報文內,隨狀態(tài)碼一起返回的信息會因為方法的不通而發(fā)生改變概疆。比如使用GET方法時候逗威,對應請求資源的實體會作為響應返回;而是用HEAD方法時候,對應請求資源的實體主體不隨著報文首部作為響應返回(即在響應中只返回首部岔冀,不會返回實體的主體部分)


204 Not Content


該狀態(tài)碼代碼服務器接收的請求已經(jīng)成功處理凯旭,但在返回的響應報文中不含實體的主體部分。另外使套,也不允許返回任何實體的主體罐呼。比如當從游覽器發(fā)出請求處理后,返回204響應侦高,那么游覽器顯示的界面不發(fā)生更新嫉柴。
一般在只需要從客戶端往服務器發(fā)送消息,而對客戶端不需要發(fā)送新信息內容的情況下使用

206 Partial Content

該狀態(tài)碼表示客戶端進行了范圍請求奉呛,而服務器成功執(zhí)行了這部分的GET請求计螺,響應報文中包含由Content-Range指定范圍的實體內容

3XXX 重定向

3XX響應結果表明游覽器需要執(zhí)行某些特殊的處理以正確處理請求。

301 Moved Permanently


永久重定向瞧壮。該狀態(tài)碼表示請求的資源已經(jīng)被分配了新的URI登馒,以后應使用資源現(xiàn)在所指的URI。也就是說咆槽,如果已經(jīng)把資源對應的URI保存為數(shù)顯了陈轿,這時候應該按照Location首部字段提示的URI重新保存。

向下方給出的請求URI,當指定資源路徑的最后忘記添加斜杠"/"麦射,就會產(chǎn)生301裝填嗎

http://example.com/sample

302 Found


臨時重定向蛾娶。該狀態(tài)碼表示請求的資源已經(jīng)分配了新的URI,希望用戶(本次)能使用新的URI訪問潜秋。
和301 Moved Permanently狀態(tài)碼相似蛔琅,但是302狀態(tài)碼表示的資源不是被永久性移動,只是臨時性性質的半等。換句話說,已經(jīng)移動的資源對應的URI將來還有可能發(fā)生改變呐萨。比如杀饵,用戶把URI保存為書簽,但不會像301狀態(tài)碼出現(xiàn)時那樣去更新書簽谬擦,而是仍舊保留返回302狀態(tài)碼的頁面對應的URI切距。

303 See Other


該狀態(tài)碼表示由于請求對應的資源存在著另一個URI,應使用GET方法定向獲取請求的資源惨远。
303狀態(tài)碼和302 Found狀態(tài)碼有著相同的功能谜悟,但是303狀態(tài)碼明確的表示客戶端應當采用GET方法獲取資源,這點于302狀態(tài)碼有區(qū)別
比如北秽,當使用POST方法訪問CGI程序葡幸,其執(zhí)行后的處理結果是希望客戶端能以GET方法重定向到另一個URI上去,返回303狀態(tài)碼贺氓,雖然302Found狀態(tài)碼也可以實現(xiàn)相同的功能蔚叨,但是這里使用303狀態(tài)碼是最理想的

當301、302辙培、303響應狀態(tài)碼返回時蔑水,幾乎所有的游覽器都會把POST請求改成GET,并刪除請求報文內的主體扬蕊,之后請求會自動再次發(fā)送
301搀别、302標準是禁止講POST方法改變?yōu)镚ET方法的,但實際使用時候大家都會這么做

304 Not Modified


該狀態(tài)碼表示客戶端發(fā)送附帶條件的請求時候(附帶條件的請求是指采用GET方法的請求報文中包含If-Match尾抑、If-Modified-Since歇父、If-None-Match、If-Range再愈、If-Unmodified-Since中任一首部)服務器端允許請求訪問資源庶骄,但是因為發(fā)生請求為滿足條件的情況后,直接返回304 Not Modified(服務器端資源未改變践磅,可直接使用客戶端未過期的緩存)单刁。304狀態(tài)碼返回時,不包含任何響應的主體部分。304雖然被劃分在3XX類別中羔飞,但是和重定向沒有關系肺樟。

307 Temporary Redirect

臨時重定向。該狀態(tài)碼與302Found有著相同的含義逻淌。盡管302標準禁止POST變換成GET么伯,但是實際使用大家并不遵守。
307會遵守游覽器標準卡儒,不會從POST變成GET田柔,但是,對于處理響應時候的行為骨望,每種游覽器都有可能給出現(xiàn)不同的情況

4XX客戶端錯誤

4XX的響應結果表明客戶端是發(fā)生錯誤的原因所在

400 Bad Request


該狀態(tài)碼表示請求報文中存在語法錯誤硬爆。當錯誤發(fā)生時候,需修改請求的內容后再次發(fā)送請求擎鸠。另外缀磕,游覽器會像200 OK 一樣對待該狀態(tài)碼

402 Unauthorized


該狀態(tài)碼表示發(fā)送的請求需要通過HTTP認證(BASIC認證、DIGEST認證)的認證信息劣光。另外若之前已經(jīng)進行過1次請求袜蚕,則表示用戶認證失敗。
返回含有401的響應必須包含一個適用于被請求資源的WWW-Authenticate首部用以質詢(challenge)用戶信息绢涡。當游覽器初次接收到401響應牲剃,會彈出認證用的對話窗口

403 Forbidden


該狀態(tài)碼表明對請求資源的訪問被服務器拒絕了。服務器端沒有必要給出拒絕的詳細信息雄可,但如果想做說明的話颠黎,可以在實體的主體部分對原因進行描述,這樣就能讓用戶看到了滞项。
未獲得文件系統(tǒng)的訪問授權狭归,訪問權限出現(xiàn)某些問題(從未授權的發(fā)送源IP地址試圖訪問)等列舉的請情況都可能是發(fā)生403的原因。

404 Not Found


該狀態(tài)碼表明服務器上無法找到請求的資源文判。初次之外过椎,也可以在服務器端拒絕請求并且不想說明理由時候使用

5XX 服務器端錯誤

5XX的響應結果表明服務器本身發(fā)生錯誤

500 Internal Server Error


該狀態(tài)碼表明服務器在執(zhí)行請求時候發(fā)生了錯誤,也有可能是Web應用存在的bug或者某些臨時的故障

503 Service Unabailable


該狀態(tài)碼表明服務器暫時處于超負荷或者正在進行停機維護戏仓,現(xiàn)在無法處理請求疚宇。如果事先得知接觸以上狀況需要的時間,最好寫入Retry-After首部資源在返回給客戶端

狀態(tài)碼和狀況的不一致
不少返回的狀態(tài)碼響應都是錯誤的赏殃,但是用戶可能察覺不到這點敷待。比如Web應用程序內部發(fā)生錯誤,狀態(tài)碼亦然返回200 OK,這種情況也經(jīng)常遇到

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末仁热,一起剝皮案震驚了整個濱河市榜揖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖举哟,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件思劳,死亡現(xiàn)場離奇詭異,居然都是意外死亡妨猩,警方通過查閱死者的電腦和手機潜叛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壶硅,“玉大人威兜,你說我怎么就攤上這事÷罚” “怎么了椒舵?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長扼睬。 經(jīng)常有香客問我逮栅,道長悴势,這世上最難降的妖魔是什么窗宇? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮特纤,結果婚禮上军俊,老公的妹妹穿的比我還像新娘。我一直安慰自己捧存,他們只是感情好粪躬,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著昔穴,像睡著了一般镰官。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吗货,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天泳唠,我揣著相機與錄音,去河邊找鬼宙搬。 笑死笨腥,一個胖子當著我的面吹牛,可吹牛的內容都是我干的勇垛。 我是一名探鬼主播脖母,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼闲孤!你這毒婦竟也來了谆级?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哨苛,沒想到半個月后鸽凶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡建峭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年玻侥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亿蒸。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凑兰,死狀恐怖,靈堂內的尸體忽然破棺而出边锁,到底是詐尸還是另有隱情姑食,我是刑警寧澤浓若,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布笋敞,位于F島的核電站,受9級特大地震影響玖喘,放射性物質發(fā)生泄漏贡蓖。R本人自食惡果不足惜曹鸠,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斥铺。 院中可真熱鬧彻桃,春花似錦、人聲如沸晾蜘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剔交。三九已至肆饶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岖常,已是汗流浹背驯镊。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腥椒,地道東北人阿宅。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像笼蛛,于是被迫代替她去往敵國和親洒放。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容

  • HTTP狀態(tài)碼的分類 HTTP狀態(tài)碼由三個十進制數(shù)字組成滨砍,第一個十進制數(shù)字定義了狀態(tài)碼的類型往湿,后兩個數(shù)字沒有分類的...
    薄涼_簡書閱讀 567評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理妖异,服務發(fā)現(xiàn),斷路器领追,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 1xx消息 這一類型的狀態(tài)碼他膳,代表請求已被接受,需要繼續(xù)處理绒窑。這類響應是臨時響應棕孙,只包含狀態(tài)行和某些可選的響應頭信...
    Oo晨晨oO閱讀 604評論 0 0
  • API定義規(guī)范 本規(guī)范設計基于如下使用場景: 請求頻率不是非常高:如果產(chǎn)品的使用周期內請求頻率非常高,建議使用雙通...
    有涯逐無涯閱讀 2,539評論 0 6
  • 1些膨,提前定好來回機票住宿蟀俊,一定要帶防曬平跟鞋身份證駕駛證。 微信里多準備一些現(xiàn)金订雾,因為很多地方是不愿意收現(xiàn)金的肢预。 ...
    晶晶5125閱讀 220評論 0 0