http協(xié)議狀態(tài)碼
1xx,表示協(xié)議處理的中間狀態(tài),不常用
偶爾見到的是101,它的意思是客戶端要求在http協(xié)議的基礎(chǔ)上改用其他協(xié)議,如果服務(wù)器也同意變更協(xié)議,就會(huì)發(fā)送狀態(tài)碼101,但這之后的數(shù)據(jù)傳輸都不會(huì)用http了。
2xx,表示服務(wù)器收到并成功處理了客戶端的請(qǐng)求,一般有下面幾種
200,是最常見的成功狀態(tài)碼,表示服務(wù)器按照客戶端的期望成功返回了
204,含義與200差不多,但是返回的請(qǐng)求頭沒(méi)有div
206,這個(gè)是分段傳輸所返回的狀態(tài)碼,表示本次返回的數(shù)據(jù)不是全部,而是一部分。
3xx表示客戶端請(qǐng)求的服務(wù)器資源發(fā)生了變動(dòng),客戶端必須使用新的uri重新發(fā)送請(qǐng)求獲取資源,也就是通常所說(shuō)的重定向
301,永久重定向,含義是這次請(qǐng)求的資源不存在了,需要改用新的uri進(jìn)行訪問(wèn)
302,臨時(shí)重定向,意思是請(qǐng)求的資源還在,但需要暫時(shí)用另一個(gè)uri進(jìn)行訪問(wèn)
301和302都會(huì)在請(qǐng)求頭里用location字段指明后續(xù)要跳轉(zhuǎn)的uri,最終效果相似,兩者最大的區(qū)別是語(yǔ)意上,一個(gè)是永久,一個(gè)是臨時(shí),瀏覽器看到302,就知道這是一個(gè)臨時(shí)的情況,不會(huì)做緩存優(yōu)化,第二天還會(huì)訪問(wèn)原來(lái)的地址。
4xx,表示客戶端發(fā)送的請(qǐng)求報(bào)文有誤,服務(wù)器無(wú)法處理,它就是真正的錯(cuò)誤碼含義了
400,通用錯(cuò)誤碼,沒(méi)有說(shuō)出具體錯(cuò)誤,表達(dá)含義模糊不清,會(huì)讓別人摸不清頭腦
403,表示服務(wù)器禁止訪問(wèn)資源
404,資源在本服務(wù)器上未找到
405,不允許使用某些操作方法,例如不允許post,只允許get
406,資源無(wú)法滿足客戶端請(qǐng)求的條件,例如請(qǐng)求中文只有英文
408,請(qǐng)求超時(shí)
409,多個(gè)請(qǐng)求發(fā)生了沖突
413,請(qǐng)求報(bào)文里的div太大
414,請(qǐng)求行里的uri太大
429,客戶端發(fā)送了太多的請(qǐng)求,通常是由于服務(wù)器的限連
431,請(qǐng)求頭某個(gè)字段或總體太大。
5xx,表示客戶端請(qǐng)求報(bào)文正確,但服務(wù)器在處理時(shí)內(nèi)部發(fā)生了錯(cuò)誤,無(wú)法返回應(yīng)有的響應(yīng)數(shù)據(jù)
500,與400類似,是一個(gè)通用的錯(cuò)誤碼,沒(méi)有說(shuō)出具體錯(cuò)誤原因,但這個(gè)對(duì)服務(wù)器是有好處的,因?yàn)椴荒茏尵唧w的錯(cuò)誤信息暴露出來(lái),不安全
501,表示客戶端請(qǐng)求的功能還不支持
503,服務(wù)器繁忙,暫時(shí)無(wú)法響應(yīng)服務(wù),503是一個(gè)臨時(shí)的狀態(tài),很可能過(guò)一段時(shí)間,服務(wù)器就不那么繁忙了,可以繼續(xù)提供服務(wù)