《圖解HTTP》- 狀態(tài)碼 - 學(xué)習(xí)筆記(二)

第4章 返回結(jié)果的 HTTP 狀態(tài)碼

4.1 狀態(tài)碼告知從服務(wù)器端返回的請(qǐng)求結(jié)果

狀態(tài)碼的職責(zé)是當(dāng)客戶端向服務(wù)器端發(fā)送請(qǐng)求時(shí),描述返回的請(qǐng)求 結(jié)果龄毡。借助狀態(tài)碼吠卷,用戶可以知道服務(wù)器端是正常處理了請(qǐng)求,還是出現(xiàn)了錯(cuò)誤稚虎。



4.2 2XX 成功

2XX 的響應(yīng)結(jié)果表明請(qǐng)求被正常處理了撤嫩。

4.2.1 200 OK(請(qǐng)求成功,正常處理)

表示從客戶端發(fā)來的請(qǐng)求在服務(wù)器端被正常處理了蠢终。
在響應(yīng)報(bào)文內(nèi)序攘,隨狀態(tài)碼一起返回的信息會(huì)因方法的不同而發(fā)生改 變。比如寻拂,使用 GET 方法時(shí)程奠,對(duì)應(yīng)請(qǐng)求資源的實(shí)體會(huì)作為響應(yīng)返回; 而使用 HEAD 方法時(shí),對(duì)應(yīng)請(qǐng)求資源的實(shí)體首部不隨報(bào)文主體作為響 應(yīng)返回(即在響應(yīng)中只返回首部祭钉,不會(huì)返回實(shí)體的主體部分)瞄沙。


4.2.2 204 No Content(請(qǐng)求成功,正常處理返回的響應(yīng)報(bào)文中不含實(shí)體的主體部分)

該狀態(tài)碼代表服務(wù)器接收的請(qǐng)求已成功處理慌核,但在返回的響應(yīng)報(bào)文中不含實(shí)體的主體部分距境。另外,也不允許返回任何實(shí)體的主體垮卓。比如垫桂,當(dāng)從瀏覽器發(fā)出請(qǐng)求處理后,返回 204 響應(yīng)粟按,那么瀏覽器顯示的頁面不發(fā)生更新诬滩。
PUTDELETE 方法會(huì)返回204霹粥。
一般在只需要從客戶端往服務(wù)器發(fā)送信息,而對(duì)客戶端不需要發(fā)送新信息內(nèi)容的情況下使用疼鸟。

4.2.3 206 Partial Content(范圍請(qǐng)求)

該狀態(tài)碼表示客戶端進(jìn)行了范圍請(qǐng)求(使用首部字段 Range 來指定資源的 byte 范圍)后控,而服務(wù)器成功執(zhí)行了這部分 的 GET 請(qǐng)求。響應(yīng)報(bào)文中包含由 Content-Range 指定范圍的實(shí)體內(nèi)容空镜。



4.3 3XX 重定向

3XX 響應(yīng)結(jié)果表明瀏覽器需要執(zhí)行某些特殊的處理以正確處理請(qǐng)求浩淘。

4.3.1 301 Moved Permanently(永久性重定向)

永久性重定向。該狀態(tài)碼表示請(qǐng)求的資源已被分配了新的 URI姑裂,以后應(yīng)使用資源現(xiàn)在所指的 URI馋袜。也就是說,如果已經(jīng)把資源對(duì)應(yīng)的 URI 保存為書簽了舶斧,這時(shí)應(yīng)該按 Location 首部字段提示的 URI 重新保存欣鳖。


4.3.2 302 Found(臨時(shí)性重定向)

臨時(shí)性重定向。該狀態(tài)碼表示請(qǐng)求的資源已被分配了新的 URI茴厉,希望用戶(本次)能使用新的 URI 訪問泽台。
和 301 Moved Permanently 狀態(tài)碼相似,但 302 狀態(tài)碼代表的資源 不是被永久移動(dòng)矾缓,只是臨時(shí)性質(zhì)的怀酷。換句話說,已移動(dòng)的資源對(duì)應(yīng)的 URI 將來還有可能發(fā)生改變嗜闻。比如蜕依,用戶把 URI 保存成書簽,但不會(huì)像 301 狀態(tài)碼出現(xiàn)時(shí)那樣去更新書簽琉雳,而是仍舊保留返回 302 狀態(tài)碼的頁 面對(duì)應(yīng)的 URI样眠。


4.3.3 303 See Other(類似302,但使用 GET 方法重定向獲取請(qǐng)求的資源)

該狀態(tài)碼表示由于請(qǐng)求對(duì)應(yīng)的資源存在著另一個(gè) URI翠肘,應(yīng)使用 GET 方法定向獲取請(qǐng)求的資源檐束。
303 狀態(tài)碼和 302 Found 狀態(tài)碼有著相同的功能,但 303 狀態(tài)碼明確表示客戶端應(yīng)當(dāng)采用 GET 方法獲取資源束倍,這點(diǎn)與 302 狀態(tài)碼有區(qū)別被丧。
比如,當(dāng)使用 POST 方法訪問 CGI 程序绪妹,其執(zhí)行后的處理結(jié)果是希 望客戶端能以 GET 方法重定向到另一個(gè) URI 上去時(shí)甥桂,返回 303 狀態(tài)碼。 雖然 302 Found 狀態(tài)碼也可以實(shí)現(xiàn)相同的功能邮旷,但這里使用 303 狀態(tài)碼是最理想的格嘁。


4.3.4 304 Not Modified(緩存相關(guān))

該狀態(tài)碼表示客戶端發(fā)送附帶條件的請(qǐng)求時(shí)(附帶條件的請(qǐng)求是指采用 GET 方法的請(qǐng)求報(bào)文中包含 If-Match,If-Modified- Since廊移,If-None-Match糕簿,If-Range,If-Unmodified-Since 中任一首部)狡孔,服務(wù)器端允許請(qǐng)求訪問資源懂诗,但未滿足條件的情況。304 狀態(tài)碼返回時(shí)苗膝,不包含任何響應(yīng)的主體部分殃恒。304 雖然被劃分在 3XX 類別中,但是和重定向沒有關(guān)系辱揭。

307 Temporary Redirect(與302相同)

臨時(shí)重定向离唐。該狀態(tài)碼與 302 Found 有著相同的含義。盡管 302 標(biāo)準(zhǔn)禁止 POST 變換成 GET问窃,但實(shí)際使用時(shí)大家并不遵守亥鬓。
307 會(huì)遵照瀏覽器標(biāo)準(zhǔn),不會(huì)從 POST 變成 GET域庇。但是嵌戈,對(duì)于處理響應(yīng)時(shí)的行為,每種瀏覽器有可能出現(xiàn)不同的情況听皿。

4.4 4XX 客戶端錯(cuò)誤

4XX 的響應(yīng)結(jié)果表明客戶端是發(fā)生錯(cuò)誤的原因所在熟呛。

4.4.1 400 Bad Request(請(qǐng)求報(bào)文存在語法錯(cuò)誤)

該狀態(tài)碼表示請(qǐng)求報(bào)文中存在語法錯(cuò)誤。當(dāng)錯(cuò)誤發(fā)生時(shí)尉姨,需修改請(qǐng)求 的內(nèi)容后再次發(fā)送請(qǐng)求庵朝。另外,瀏覽器會(huì)像 200 OK 一樣對(duì)待該狀態(tài)碼又厉。


4.4.2 401 Unauthorized(身份認(rèn)證)

該狀態(tài)碼表示發(fā)送的請(qǐng)求需要有通過 HTTP 認(rèn)證(BASIC 認(rèn)證九府、 DIGEST 認(rèn)證)的認(rèn)證信息。另外若之前已進(jìn)行過 1 次請(qǐng)求馋没,則表示用 戶認(rèn)證失敗昔逗。
返回含有 401 的響應(yīng)必須包含一個(gè)適用于被請(qǐng)求資源的 WWW- Authenticate 首部用以質(zhì)詢(challenge)用戶信息。當(dāng)瀏覽器初次接收 到 401 響應(yīng)篷朵,會(huì)彈出認(rèn)證用的對(duì)話窗口勾怒。


4.4.3 403 Forbidden(未授權(quán))

該狀態(tài)碼表明對(duì)請(qǐng)求資源的訪問被服務(wù)器拒絕了。服務(wù)器端沒有必 要給出拒絕的詳細(xì)理由声旺,但如果想作說明的話笔链,可以在實(shí)體的主體部分 對(duì)原因進(jìn)行描述,這樣就能讓用戶看到了腮猖。
未獲得文件系統(tǒng)的訪問授權(quán)鉴扫,訪問權(quán)限出現(xiàn)某些問題(從未授權(quán)的 發(fā)送源 IP 地址試圖訪問)等列舉的情況都可能是發(fā)生 403 的原因。


4.4.4 404 Not Found(服務(wù)器上無法找到請(qǐng)求的資源)

該狀態(tài)碼表明服務(wù)器上無法找到請(qǐng)求的資源澈缺。除此之外坪创,也可以在服務(wù)器端拒絕請(qǐng)求且不想說明理由時(shí)使用炕婶。



4.5 5XX 服務(wù)器錯(cuò)誤

5XX 的響應(yīng)結(jié)果表明服務(wù)器本身發(fā)生錯(cuò)誤。

4.5.1 500 Internal Server Error(服務(wù)器端在執(zhí)行請(qǐng)求時(shí)發(fā)生了錯(cuò)誤)

該狀態(tài)碼表明服務(wù)器端在執(zhí)行請(qǐng)求時(shí)發(fā)生了錯(cuò)誤莱预。也有可能是 Web 應(yīng)用存在的 bug 或某些臨時(shí)的故障柠掂。


4.5.2 503 Service Unavailable(服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù))

該狀態(tài)碼表明服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù),現(xiàn)在無法處理請(qǐng)求依沮。如果事先得知解除以上狀況需要的時(shí)間涯贞,最好寫入 Retry- After 首部字段再返回給客戶端。




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末危喉,一起剝皮案震驚了整個(gè)濱河市宋渔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辜限,老刑警劉巖皇拣,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異列粪,居然都是意外死亡审磁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門岂座,熙熙樓的掌柜王于貴愁眉苦臉地迎上來态蒂,“玉大人,你說我怎么就攤上這事费什〖鼗郑” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵鸳址,是天一觀的道長(zhǎng)瘩蚪。 經(jīng)常有香客問我,道長(zhǎng)稿黍,這世上最難降的妖魔是什么疹瘦? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮巡球,結(jié)果婚禮上言沐,老公的妹妹穿的比我還像新娘。我一直安慰自己酣栈,他們只是感情好险胰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著矿筝,像睡著了一般起便。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天榆综,我揣著相機(jī)與錄音妙痹,去河邊找鬼。 笑死奖年,一個(gè)胖子當(dāng)著我的面吹牛细诸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陋守,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼利赋!你這毒婦竟也來了水评?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤媚送,失蹤者是張志新(化名)和其女友劉穎中燥,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塘偎,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疗涉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吟秩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咱扣。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涵防,靈堂內(nèi)的尸體忽然破棺而出闹伪,到底是詐尸還是另有隱情,我是刑警寧澤壮池,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布偏瓤,位于F島的核電站,受9級(jí)特大地震影響椰憋,放射性物質(zhì)發(fā)生泄漏厅克。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一橙依、第九天 我趴在偏房一處隱蔽的房頂上張望证舟。 院中可真熱鬧拣展,春花似錦娃圆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鲤竹。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辛藻,已是汗流浹背碘橘。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吱肌,地道東北人痘拆。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像氮墨,于是被迫代替她去往敵國和親纺蛆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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

  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族规揪,HTTP屬于它內(nèi)部的一個(gè)子集桥氏。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,444評(píng)論 0 20
  • 本文是《圖解HTTP》讀書筆記的第二篇,主要包括此書的第六章內(nèi)容猛铅,因?yàn)榈诹碌膬?nèi)容較多字支,而且比較重要,所以單獨(dú)寫為...
    lijiankun24閱讀 1,364評(píng)論 0 6
  • Web 頁面的實(shí)現(xiàn) Web 基于 HTTP 協(xié)議通信 客戶端(Client)的 Web 瀏覽器從 Web 服務(wù)器端...
    毛圈閱讀 1,087評(píng)論 0 2
  • 網(wǎng)絡(luò)基礎(chǔ)知識(shí) URL和URI URI(Uniform Resource Idenifier)統(tǒng)一資源標(biāo)識(shí)符奸忽。即由某...
    d9fc24a0c9a9閱讀 1,125評(píng)論 0 6
  • 你從塵土中來 蜷縮著身軀 而后 睜開眼 哇哇涕鳴 稚嫩的伸展開身軀 熱烈生長(zhǎng) 你挺立起脊梁 劈開混沌 尋找到那一束...
    鄭凌霄閱讀 413評(píng)論 0 2