認識HTTP----狀態(tài)碼

本文內容大多參考《圖解HTTP》一書

1. 什么是狀態(tài)碼蔗牡?

當我們向服務端發(fā)送請求的時候,為了讓用戶更好的理解返回結果嗅剖,通常要借助狀態(tài)碼來通知用戶服務器端是正常處理了請求辩越,還是出現(xiàn)了偏差。

響應的狀態(tài)碼可描述請求的處理結果

狀態(tài)碼如200 OK信粮,以3 位數(shù)字和原因短語組成黔攒。
數(shù)字中的第一位指定了響應類別,后兩位無分類强缘。響應類別有以下5 種督惰。

狀態(tài)碼數(shù)量繁多,實際經常使用只有14多種欺旧,下面只介紹一下具有代表性的14 個狀態(tài)碼姑丑。

2. 2XX 成功

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

2.1 200 OK

表示從客戶端發(fā)來的請求在服務器端被正常處理了辞友。

2.2 204 No Content


該狀態(tài)碼代表服務器接收的請求已成功處理栅哀,但在返回的響應報文中不含實體的主體部分。另外称龙,也不允許返回任何實體的主體留拾。比如,當從瀏覽器發(fā)出請求處理后鲫尊,返回204 響應痴柔,那么瀏覽器顯示的頁面不發(fā)生更新。
一般在只需要從客戶端往服務器發(fā)送信息疫向,而對客戶端不需要發(fā)送新信息內容的情況下使用咳蔚。

2.3 206 Partial Content

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

3. 3XX重定向

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

3.1 301 Moved Permanently

永久性重定向。該狀態(tài)碼表示請求的資源已被分配了新的URI糯耍,以后應使用資源現(xiàn)在所指的URI扔字。

3.2 302 Found

臨時性重定向。該狀態(tài)碼表示請求的資源已被分配了新的URI温技,希望用戶(本次)能使用新的URI 訪問革为。
和301 Moved Permanently 狀態(tài)碼相似,但302 狀態(tài)碼代表的資源不是被永久移動舵鳞,只是臨時性質的震檩。換句話說,已移動的資源對應的URI 將來還有可能發(fā)生改變系任。

3.3 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)碼挂据。雖然302 Found 狀態(tài)碼也可以實現(xiàn)相同的功能,但這里使用303 狀態(tài)碼是最理想的儿普。

3.4 304 Not Modified


該狀態(tài)碼表示客戶端發(fā)送附帶條件的請求時崎逃,服務器端允許請求訪問資源,但未滿足條件的情況眉孩。304 狀態(tài)碼返回時个绍,不包含任何響應的主體部分。304 雖然被劃分在3XX 類別中浪汪,但是和重定向沒有關系巴柿。

3.5 307 Temporary Redirect

臨時重定向。該狀態(tài)碼與302 Found 有著相同的含義死遭。盡管302 標準禁止POST 變換成GET广恢,但實際使用時大家并不遵守。
307 會遵照瀏覽器標準呀潭,不會從POST 變成GET钉迷。但是至非,對于處理響應時的行為,每種瀏覽器有可能出現(xiàn)不同的情況糠聪。

4 4XX 客戶端錯誤

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

4.1 400 Bad Request


該狀態(tài)碼表示請求報文中存在語法錯誤。當錯誤發(fā)生時枷颊,需修改請求的內容后再次發(fā)送請求戳杀。另外,瀏覽器會像200 OK 一樣對待該狀態(tài)碼夭苗。

4.2 401 Unauthorized


該狀態(tài)碼表示發(fā)送的請求需要有通過HTTP 認證(BASIC 認證信卡、DIGEST 認證)的認證信息。另外若之前已進行過1 次請求题造,則表示用戶認證失敗傍菇。
返回含有401 的響應必須包含一個適用于被請求資源的WWWAuthenticate首部用以質詢(challenge)用戶信息。當瀏覽器初次接收到401 響應界赔,會彈出認證用的對話窗口丢习。

4.3 403 Forbidden


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

4.4 404 Not Found

該狀態(tài)碼表明服務器上無法找到請求的資源羹令。除此之外鲤屡,也可以在服務器端拒絕請求且不想說明理由時使用。

5. 5XX服務器錯誤

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

5.1  500 Internal Server Error

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

5.2 503 Service Unavailable


該狀態(tài)碼表明服務器暫時處于超負載或正在進行停機維護肪凛,現(xiàn)在無法處理請求堰汉。如果事先得知解除以上狀況需要的時間,最好寫入Retry-After 首部字段再返回給客戶端显拜。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末衡奥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子远荠,更是在濱河造成了極大的恐慌矮固,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異档址,居然都是意外死亡盹兢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門守伸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绎秒,“玉大人,你說我怎么就攤上這事尼摹〖郏” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵蠢涝,是天一觀的道長玄呛。 經常有香客問我,道長和二,這世上最難降的妖魔是什么徘铝? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮惯吕,結果婚禮上惕它,老公的妹妹穿的比我還像新娘。我一直安慰自己废登,他們只是感情好淹魄,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著堡距,像睡著了一般揭北。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吏颖,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音恨樟,去河邊找鬼半醉。 笑死,一個胖子當著我的面吹牛劝术,可吹牛的內容都是我干的缩多。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼养晋,長吁一口氣:“原來是場噩夢啊……” “哼衬吆!你這毒婦竟也來了?” 一聲冷哼從身側響起绳泉,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤逊抡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后零酪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冒嫡,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拇勃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了孝凌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片方咆。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蟀架,靈堂內的尸體忽然破棺而出瓣赂,到底是詐尸還是另有隱情,我是刑警寧澤片拍,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布煌集,位于F島的核電站,受9級特大地震影響穆碎,放射性物質發(fā)生泄漏牙勘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一所禀、第九天 我趴在偏房一處隱蔽的房頂上張望方面。 院中可真熱鬧,春花似錦色徘、人聲如沸恭金。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽横腿。三九已至,卻和暖如春斤寂,著一層夾襖步出監(jiān)牢的瞬間耿焊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工遍搞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罗侯,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓溪猿,卻偏偏與公主長得像钩杰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子诊县,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容

  • HTTP狀態(tài)碼的分類 HTTP狀態(tài)碼由三個十進制數(shù)字組成讲弄,第一個十進制數(shù)字定義了狀態(tài)碼的類型,后兩個數(shù)字沒有分類的...
    薄涼_簡書閱讀 563評論 0 1
  • 1. 網絡基礎TCP/IP HTTP基于TCP/IP協(xié)議族依痊,HTTP屬于它內部的一個子集避除。 把互聯(lián)網相關聯(lián)的協(xié)議集...
    yozosann閱讀 3,437評論 0 20
  • API定義規(guī)范 本規(guī)范設計基于如下使用場景: 請求頻率不是非常高:如果產品的使用周期內請求頻率非常高,建議使用雙通...
    有涯逐無涯閱讀 2,519評論 0 6
  • HTTP狀態(tài)碼(HTTP Status Code)表示http服務器對與請求HTTP響應狀態(tài)的3位數(shù)字代碼。它由 ...
    BeeNoisy閱讀 1,756評論 0 8
  • 2017年9月26日驹饺,如是家人李建英钳枕,第43天種種子日志 發(fā)心:我今不是為了我個人而聞思修行,而是為了六道輪回一切...
    萌豆媽媽_李建英閱讀 412評論 2 4