狀態(tài)碼的類別
標(biāo)示 | 類別 | 原因短語(yǔ) |
---|---|---|
1XX | Informational(信息性狀態(tài)碼) | 接收的請(qǐng)求正在處理 |
2XX | Success (成功狀態(tài)碼) | 請(qǐng)求正常處理完畢 |
3XX | Redirection (重定向狀態(tài)碼) | 需要附加操作以完成請(qǐng)求 |
4XX | Client Error (客戶端錯(cuò)誤狀態(tài)碼) | 服務(wù)器無(wú)法處理請(qǐng)求 |
5XX | Server Error (服務(wù)端錯(cuò)誤狀態(tài)碼) | 服務(wù)器處理請(qǐng)求出錯(cuò) |
2XX 成功
200 ok
表示客戶端發(fā)來(lái)的請(qǐng)求在服務(wù)端被正常處理了震叮。
204 No Content
該狀態(tài)碼代筆服務(wù)器接收的請(qǐng)求已成功處理胧砰,但在返回的響應(yīng)報(bào)文中不含實(shí)體的主體部分。另外苇瓣,也不允許返回任何實(shí)體的主體。比如:當(dāng)從瀏覽器發(fā)出請(qǐng)求處理后偿乖,返回204響應(yīng)击罪,那么瀏覽器顯示的頁(yè)面不發(fā)生更新。
一般在只需要從客戶端往服務(wù)端發(fā)送信息贪薪,而對(duì)客戶端不需要發(fā)送新信息內(nèi)容的情況下使用媳禁。
206 Partial Content
該狀態(tài)碼表示客戶端進(jìn)行了范圍請(qǐng)求,而服務(wù)器則成功執(zhí)行了這部分get請(qǐng)求画切。響應(yīng)報(bào)文中包含由Content-Range指定范圍的實(shí)體內(nèi)容竣稽。
3XX 重定向
301 Moved Permanently
永久性重定向。該狀態(tài)碼表示請(qǐng)求的資源已被分配到了新的URI,以后應(yīng)使用資源現(xiàn)在所指的URI毫别。也就是說(shuō)娃弓,如果已經(jīng)把資源對(duì)應(yīng)的URI保存為書簽了,這時(shí)應(yīng)按Location首字母段提示的URI重新保存岛宦。
302 Found
臨時(shí)性重定向台丛。該狀態(tài)碼表示請(qǐng)求的資源已經(jīng)被分配了新的URI,希望用戶本次能使用新的URI訪問(wèn)砾肺。
和 301 Moved Permanently
狀態(tài)碼相似挽霉,但 302
狀態(tài)碼代筆的是資源不是被永久性移動(dòng),只是臨時(shí)性的变汪。換句話說(shuō)侠坎,已移動(dòng)的資源對(duì)應(yīng)的URI將來(lái)還有可能發(fā)生改變。比如裙盾,用戶把URI保存為書簽实胸,但不會(huì)像301狀態(tài)碼出現(xiàn)時(shí)那樣去更新書簽,而是仍保留返回302狀態(tài)碼的頁(yè)面對(duì)應(yīng)的URI闷煤。
303 See Other
該狀態(tài)碼表示由于請(qǐng)求對(duì)應(yīng)的資源存在著另一個(gè)URI童芹,應(yīng)使用GET方法定向獲取請(qǐng)求的資源。
303狀態(tài)碼和302Found 狀態(tài)碼有著相同的功能鲤拿,但是303狀態(tài)碼明確表示客戶端應(yīng)采用GET方法獲取資源假褪,這點(diǎn)與302狀態(tài)碼有區(qū)別。
比如:當(dāng)使用POST方法訪問(wèn)CGI程序近顷,其執(zhí)行后的處理結(jié)果是希望客戶端能以GET方法重定向到另外一個(gè)URI上去時(shí)生音,返回303狀態(tài)碼,雖然302 Found 狀態(tài)碼也可以實(shí)現(xiàn)相同的功能窒升,但這里使用303 狀態(tài)碼是最理想的缀遍。
當(dāng)301 302 303 響應(yīng)狀態(tài)碼返回時(shí),幾乎所有的瀏覽器都會(huì)把POST改成GET饱须,并刪除請(qǐng)求報(bào)文內(nèi)的主體域醇,之后請(qǐng)求會(huì)自動(dòng)再次發(fā)送。301 302 標(biāo)準(zhǔn)是禁止將POST方法改變成GET方法的蓉媳,但實(shí)際使用時(shí)大家都會(huì)這么做譬挚。
304 Not Modified
該狀態(tài)碼表示客戶端發(fā)送附帶請(qǐng)求時(shí),服務(wù)器允許請(qǐng)求訪問(wèn)資源酪呻,但因發(fā)生請(qǐng)求未滿足條件的情況后减宣,直接返回304 Not Modified 服務(wù)器端資源未改變,可直接使用客戶端未過(guò)期的緩存玩荠。 304 狀態(tài)碼返回時(shí)漆腌,不包含任何響應(yīng)的主體部分贼邓。304雖然被劃分為在3XX類別中,但是和重定向沒(méi)有關(guān)系闷尿。
307 Temporary Redirect
臨時(shí)重定向塑径。該狀態(tài)碼與 302 Found 有著相同的含義。盡管302標(biāo)準(zhǔn)禁止POST變成GET悠砚,但實(shí)際上大家并不遵守晓勇。
307會(huì)按瀏覽器標(biāo)準(zhǔn),不會(huì)從POST變成GET灌旧。但是绑咱,對(duì)于處理響應(yīng)時(shí)的行為,每種瀏覽器有可能出現(xiàn)不同的情況枢泰。
4XX 客戶端錯(cuò)誤
400 Bad Request
該狀態(tài)表示請(qǐng)求報(bào)文中存在語(yǔ)法錯(cuò)誤描融,當(dāng)錯(cuò)誤發(fā)生時(shí),需要修改請(qǐng)求的內(nèi)容再次發(fā)送請(qǐng)求衡蚂。另外窿克,瀏覽器會(huì)像200OK一樣對(duì)待該狀態(tài)碼。
402 Unauthorized
該狀態(tài)碼表示發(fā)送的請(qǐng)求需要有通過(guò)HTTP認(rèn)證的認(rèn)證信息毛甲。另外若之前已經(jīng)進(jìn)行過(guò)一次請(qǐng)求年叮,則表示用戶認(rèn)證失敗。
返回401 的響應(yīng)必須包含一個(gè)適用于被請(qǐng)求資源的www.Authenticate 首部用以質(zhì)詢challenge用戶信息玻募。當(dāng)瀏覽器初次接收到401響應(yīng)只损,會(huì)彈出認(rèn)證用的對(duì)話窗口。
403 Forbidden
該狀態(tài)碼表明對(duì)請(qǐng)求資源的訪問(wèn)被服務(wù)器拒絕了七咧。服務(wù)端沒(méi)有必要給出拒絕的詳細(xì)理由跃惫,但如果想作說(shuō)明的話,可以在實(shí)體的主體部分對(duì)原因進(jìn)行描述艾栋,這樣就能讓用戶看到了爆存。
404 Not Found
該狀態(tài)碼表明服務(wù)器上無(wú)法找到請(qǐng)求的資源。除此之外蝗砾,也可以在服務(wù)器端拒絕請(qǐng)求且不想說(shuō)明理由時(shí)使用先较。
5XX 服務(wù)端錯(cuò)誤
500 Internal Server Error
該狀態(tài)表明服務(wù)端在執(zhí)行請(qǐng)求時(shí)發(fā)生了錯(cuò)誤。也有可能是Web 應(yīng)用存在bug或某些臨時(shí)故障悼粮。
503 Service Unavailable
該狀態(tài)碼表明服務(wù)器暫時(shí)出于超負(fù)載或者正在進(jìn)行停機(jī)維護(hù)拇泣,現(xiàn)在無(wú)法處理該請(qǐng)求。如果事先得知解除以上狀況需要的時(shí)間矮锈,最好寫入Retry-After首字母字段返回給客戶端。
狀態(tài)碼和狀態(tài)的不一致
不少返回的狀態(tài)碼響應(yīng)都是錯(cuò)誤的睁蕾,但是用戶可能察覺(jué)不到這點(diǎn)苞笨。比如Web應(yīng)用程序內(nèi)部發(fā)生錯(cuò)誤债朵,狀態(tài)碼依然是200OK,這種情況也經(jīng)常遇到瀑凝。
以上簡(jiǎn)單的闡述了http狀態(tài)碼序芦。
如果讀完覺(jué)得有收獲的話,歡迎點(diǎn)贊加關(guān)注
您的認(rèn)可是我寫作的最大動(dòng)力