類別 | 原因短語(yǔ) | |
---|---|---|
1XX | Informational (信息性狀態(tài)碼) | 接收的請(qǐng)求正在處理 |
2XX | Success (成功狀態(tài)碼) | 請(qǐng)求正常處理完畢 |
3XX | Redirection (重定向狀態(tài)碼) | 需要進(jìn)行附加操作以完成請(qǐng)求 |
4XX | Client Error (客戶端錯(cuò)誤狀態(tài)碼) | 服務(wù)器無法處理請(qǐng)求 |
5XX | Server Error (服務(wù)器錯(cuò)誤狀態(tài)碼) | 服務(wù)器處理請(qǐng)求出錯(cuò) |
記錄在RFC2616上HTTP狀態(tài)碼40多種,加上RFC4918九默、5842和附加HTTP狀態(tài)碼RFC6585共有60多種震放,常用的狀態(tài)碼14種。
2XX 成功
200 OK
表示從客戶端發(fā)來的請(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)求驶乾。
3XX 重定向
301 Moved Permanently
永久性重定向。該狀態(tài)碼表示請(qǐng)求的資源已被分配了新的URI冠句,以后應(yīng)使用資源現(xiàn)在所指的URL轻掩。也就是說,如果已經(jīng)把資源對(duì)應(yīng)的URI保存為書簽了懦底,這時(shí)應(yīng)該按Location首部字段提示的URI重新保存唇牧。當(dāng)指定資源路徑的最后忘記添加斜杠,也會(huì)產(chǎn)生301狀態(tài)碼聚唐。
302 Found
臨時(shí)性重定向丐重。該狀態(tài)碼表示請(qǐng)求的資源已被分配了新的URI,希望用戶能使用新的URI訪問杆查。
303 See Other
該狀態(tài)碼表示由于請(qǐng)求對(duì)應(yīng)的資源存在著另一個(gè)URI扮惦,應(yīng)使用GET方法定向獲取請(qǐng)求的資源。303狀態(tài)碼和302狀態(tài)碼有著同樣的功能亲桦,但303狀態(tài)碼明確表示客戶端應(yīng)當(dāng)采用GET方法獲取資源崖蜜,這點(diǎn)和302狀態(tài)碼有區(qū)別。
304 Not Modified
該狀態(tài)碼表示客戶端發(fā)送附帶條件的請(qǐng)求時(shí)客峭,服務(wù)器端允許請(qǐng)求訪問資源豫领,但因發(fā)生請(qǐng)求未滿足條件的情況后,直接返回304 Not Modified (服務(wù)器資源未改變舔琅,可直接使用客戶端未過期的緩存)等恐。304狀態(tài)碼返回時(shí),不包含任何響應(yīng)的主體部分。304雖然被劃分在重定向课蔬,但和重定向沒有關(guān)系囱稽。
307 Temporary Redirect
臨時(shí)重定向。該狀態(tài)碼與302 Found有著相同的含義二跋。盡管301战惊、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ì)像200 OK一樣對(duì)待該狀態(tài)碼。
401 Unauthorized
該狀態(tài)碼表示發(fā)送的請(qǐng)求需要有通過HTTP認(rèn)證的認(rèn)證信息粮坞。若之前已進(jìn)行過一次請(qǐng)求蚊荣,則表示用戶認(rèn)證失敗。當(dāng)瀏覽器初次接收到401響應(yīng)莫杈,會(huì)彈出認(rèn)證用的對(duì)話框互例。
403 Forbidden
該狀態(tài)碼表明對(duì)請(qǐng)求資源的訪問被服務(wù)器拒絕了。
404 Not Found
該狀態(tài)碼表明服務(wù)器上無法找到請(qǐng)求的資源筝闹。除此之外媳叨,也可以在服務(wù)器端拒絕請(qǐng)求且不想說明理由時(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)在無法處理請(qǐng)求议双。如果實(shí)現(xiàn)得知解除以上狀況需要的時(shí)間痘番,最好寫入RetryAfter首部字段再返回給客戶端。
PS:
狀態(tài)碼和狀況的不一致:不少返回的狀態(tài)碼響應(yīng)都是錯(cuò)誤的平痰,但是用戶可能察覺不到這一點(diǎn)汞舱。比如Web應(yīng)用程序內(nèi)部發(fā)生錯(cuò)誤,狀態(tài)碼依然返回200 OK宗雇,這種情況也比較常見兵拢。
當(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ā)送腻扇。