狀態(tài)碼的職責(zé)是當(dāng)客戶端向服務(wù)器發(fā)送請求時(shí),描述返回的請求結(jié)果.
狀態(tài)碼的類別
|類別|原因短語
--|--|--
1XX|Information(信息性狀態(tài)碼)|接收的請求正在處理
2XX|Success(成功狀態(tài)碼)|請求正常處理完畢
3XX|Redirection(重定向狀態(tài)碼)|需要進(jìn)行附加操作以完成請求
4XX|Client Error(客戶端錯(cuò)誤狀態(tài)碼)|服務(wù)器無法處理請求
5XX|Server Error(服務(wù)器錯(cuò)誤狀態(tài)碼)|服務(wù)器處理請求出錯(cuò)
2XX成功
200 OK
表示從客戶端發(fā)來的請求在服務(wù)器端被正常處理了.
在響應(yīng)報(bào)文內(nèi),隨狀態(tài)嗎一起返回的信息會(huì)因方法的不同而發(fā)送改變.
204 No Content
該狀態(tài)碼代表服務(wù)器接收的請求已成功處理,但在返回的響應(yīng)報(bào)文中不含實(shí)體的主體部分.另外,也不允許返回任何實(shí)體的主體.
206 Partial Content
該狀態(tài)碼表示客戶端進(jìn)行了范圍請求,而服務(wù)器成功執(zhí)行了這部分的GET請求.響應(yīng)報(bào)文中包含由Content-Range指定范圍的實(shí)體內(nèi)容.
3XX 重定向
301 Moved Permanently
永久性重定向.該狀態(tài)碼表示請求的資源已被分配了新的URI,以后應(yīng)使用資源現(xiàn)在所指的URI.
也就是說,如果已經(jīng)把資源對應(yīng)的URI保存為書簽了,這時(shí)應(yīng)該按Location首部字段提示的URI重新保存.
302 Found
臨時(shí)性重定向.該狀態(tài)碼表示請求的資源已被分配了新的URI,希望用戶(本次)能使用新的URI訪問.
和301 Moved Permanently狀態(tài)碼相似,但302狀態(tài)碼代表的資源不是被永久移動(dòng),只是臨時(shí)性質(zhì)的.換句話說,已移動(dòng)的資源對應(yīng)的URI將來還有可能發(fā)生改變.比如,用戶把URI保存成書簽,但不會(huì)像301狀態(tài)碼出現(xiàn)時(shí)那樣去更新書簽,而是仍舊保留返回302狀態(tài)碼的頁面對應(yīng)的URI.
303 See Other
該狀態(tài)碼表示由于請求對應(yīng)的資源存在著另一個(gè)URI,應(yīng)使用GET方法定向獲取請求的資源.
303狀態(tài)碼和302 Found狀態(tài)碼有著相同的功能,但303狀態(tài)碼明確表示客戶端應(yīng)當(dāng)采用GET方法獲取資源,這點(diǎn)與302狀態(tài)碼有區(qū)別.
當(dāng)301,302,303響應(yīng)狀態(tài)碼返回時(shí),幾乎所有的瀏覽器都會(huì)把POST改成GET,并刪除報(bào)文請求報(bào)文內(nèi)的主體,之后請求會(huì)自動(dòng)再次發(fā)送.
301,302標(biāo)準(zhǔn)是禁止將POST請求改變成GET方法的,但實(shí)際使用時(shí)大家都會(huì)這么做.
304 Not Modified
該狀態(tài)碼表示客戶端發(fā)送附帶條件的請求時(shí),服務(wù)器端允許請求訪問資源,但未滿足條件的情況.304狀態(tài)碼返回時(shí),不包含任何響應(yīng)的主體部門.304雖然被劃分在3XX類別中,但是和重定向沒有關(guān)系.
附帶條件的請求是采用GET方法的請求報(bào)文中包含If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since中任一首部.
307 Temporary Redirect
臨時(shí)重定向.該狀態(tài)碼與302 Found有這相同的含義.盡管302標(biāo)準(zhǔn)禁止POST變換成GET,但實(shí)際使用時(shí)大家并不遵守.
307會(huì)遵照瀏覽器標(biāo)準(zhǔn),不會(huì)從POST變成GET.但是,對于處理響應(yīng)時(shí)的行為,每種瀏覽器有可能出現(xiàn)不同的情況.
4XX客戶端錯(cuò)誤
400 Bad Request
該狀態(tài)碼表示請求報(bào)文中存在語法錯(cuò)誤.當(dāng)錯(cuò)誤發(fā)生時(shí),需修改請求的內(nèi)容后再次發(fā)送請求.另外,瀏覽器會(huì)像200 OK一樣對待該狀態(tài)碼.
401 Unauthorized
該狀態(tài)碼表示發(fā)送的請求需要有通過HTTP認(rèn)證(BASIC認(rèn)證,DIGEST認(rèn)證)的認(rèn)證信息.另外若之前已經(jīng)進(jìn)行過1次請求,則表示用戶認(rèn)證失敗.
403 Forbidden
該狀態(tài)碼表明對請求資源的訪問被服務(wù)器拒絕了.
404 Not Found
該狀態(tài)碼表明服務(wù)器上無法找到請求的資源.
5XX服務(wù)器錯(cuò)誤
500 Internal Server Error
該狀態(tài)碼表明服務(wù)器端在執(zhí)行請求時(shí)發(fā)生了錯(cuò)誤.也有可能是Web應(yīng)用存在的bug或某些臨時(shí)的故障.
503 Service Unavailable
該狀態(tài)碼表明服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù),現(xiàn)在無法處理請求.