狀態(tài)碼及其含義
100 Continue:初始的請(qǐng)求已經(jīng)接受酒唉,客戶應(yīng)當(dāng)繼續(xù)發(fā)送請(qǐng)求的其余部分矩桂。
101 Switching Protocols:服務(wù)器將遵從客戶的請(qǐng)求轉(zhuǎn)換到另外一種協(xié)議。
200 OK:一切正常痪伦,對(duì)GET和POST請(qǐng)求的應(yīng)答文檔跟在后面侄榴。如果不用SetStatus設(shè)置狀態(tài)代碼,Servlet默認(rèn)使用202狀態(tài)代碼网沾。
201 Created 服務(wù)器已經(jīng)創(chuàng)建了文檔牲蜀,Location頭給出了它的URL。
202 Accepted:已經(jīng)接受請(qǐng)求绅这,但處理尚未完成涣达。
203 Non-Authoritative Information:文檔已經(jīng)正常地返回,但一些應(yīng)答頭可能不正確证薇,因?yàn)槭褂玫氖俏臋n的拷貝度苔。
204 No Content:沒有新文檔,瀏覽器應(yīng)該繼續(xù)顯示原來(lái)的文檔浑度。如果用戶定期地刷新頁(yè)面寇窑,而Servlet可以確定用戶文檔足夠新,這個(gè)狀態(tài)代碼是很有用的箩张。
205 Reset Content:沒有新的內(nèi)容甩骏,但瀏覽器應(yīng)該重置它所顯示的內(nèi)容窗市。用來(lái)強(qiáng)制瀏覽器清除表單輸入內(nèi)容。
206 Partial Content:客戶發(fā)送了一個(gè)帶有Range頭的GET請(qǐng)求饮笛,服務(wù)器完成了它咨察。
300 Multiple Choices:客戶請(qǐng)求的文檔可以在多個(gè)位置找到,這些位置已經(jīng)在返回的文檔內(nèi)列出福青。如果服務(wù)器要提出優(yōu)先選擇摄狱,則應(yīng)該在Location應(yīng)答頭指明。
301 Moved Permanently:客戶請(qǐng)求的文檔在其他地方无午,新的URL在Location頭中給出媒役,瀏覽器應(yīng)該自動(dòng)地訪問新的URL。
302 Found:類似于301宪迟,但新的URL應(yīng)該被視為臨時(shí)性的替代酣衷,而不是永久性的。注意次泽,在HTTP1.0中對(duì)應(yīng)的狀態(tài)信息是“MovedTemporatily”鸥诽,而HttpServletResponse中相應(yīng)的常量是SC_MOVED_TEMPORARILY,而不是SC_FOUND箕憾。出現(xiàn)該狀態(tài)代碼時(shí)牡借,瀏覽器能夠自動(dòng)訪問新的URL,因此它是一個(gè)很有用的狀態(tài)代碼袭异。為此钠龙,Servlet提供了一個(gè)專用的方法,即sendRedirect御铃。使用response.sendRedirect(url)比使用response.setStatus(response.SC_MOVED_TEMPORARILY)和response.setHeader("Location"碴里,url)更好。注意這個(gè)狀態(tài)代碼有時(shí)候可以和301替換使用上真。
303 See Other:類似于301/302咬腋,不同之處在于,如果原來(lái)的請(qǐng)求是POST睡互,Location頭指定的重定向目標(biāo)文檔應(yīng)該通過(guò)GET提取根竿。
304 Not Modified:客戶端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務(wù)器告訴客戶就珠,原來(lái)緩沖的文檔還可以繼續(xù)使用寇壳。
305 Use Proxy:客戶請(qǐng)求的文檔應(yīng)該通過(guò)Location頭所指明的代理服務(wù)器提取。
307 Temporary Redirect:和302(Found)相同妻怎。許多瀏覽器會(huì)錯(cuò)誤地響應(yīng)302應(yīng)答進(jìn)行重定向壳炎,即使原來(lái)的請(qǐng)求是POST,即使它實(shí)際上只能在POST請(qǐng)求的應(yīng)答是303時(shí)才能重定向逼侦。由于這個(gè)原因匿辩,HTTP 1.1新增了307腰耙,以便更加清除地區(qū)分幾個(gè)狀態(tài)代碼:當(dāng)出現(xiàn)303應(yīng)答時(shí),瀏覽器可以跟隨重定向的GET和POST請(qǐng)求如果是307應(yīng)答铲球,則瀏覽器只能跟隨對(duì)GET請(qǐng)求的重定向挺庞。注意:HttpServletResponse中沒有為該狀態(tài)代碼提供相應(yīng)的常量。
400 Bad Request:請(qǐng)求出現(xiàn)語(yǔ)法錯(cuò)誤睬辐。
401 Unauthorized:客戶試圖未經(jīng)授權(quán)訪問受密碼保護(hù)的頁(yè)面挠阁。應(yīng)答中會(huì)包含一個(gè)WWW-Authenticate頭宾肺,瀏覽器據(jù)此顯示用戶名字/密碼對(duì)話框溯饵,然后在填寫合適的Authorization頭后再次發(fā)出請(qǐng)求。
403 Forbidden:資源不可用锨用。服務(wù)器理解客戶的請(qǐng)求丰刊,但拒絕處理它。通常由于服務(wù)器上文件或目錄的權(quán)限設(shè)置導(dǎo)致增拥。
404 Not Found:無(wú)法找到指定位置的資源啄巧。這也是一個(gè)常用的應(yīng)答,HttpServletResponse專門提供了相應(yīng)的方法:sendError(message)掌栅。
405 Method Not Allowed:請(qǐng)求方法(GET秩仆、POST、HEAD猾封、DELETE澄耍、PUT、TRACE等)對(duì)指定的資源不適用晌缘。
406 Not Acceptable:指定的資源已經(jīng)找到齐莲,但它的MIME類型和客戶在Accpet頭中所指定的不兼容。
407 Proxy Authentication Required:類似于401磷箕,表示客戶必須先經(jīng)過(guò)代理服務(wù)器的授權(quán)选酗。
408 Request Timeout:在服務(wù)器許可的等待時(shí)間內(nèi),客戶一直沒有發(fā)出任何請(qǐng)求岳枷∶⑻睿客戶可以在以后重復(fù)同一請(qǐng)求。
409 Conflict:通常和PUT請(qǐng)求有關(guān)空繁。由于請(qǐng)求和資源的當(dāng)前狀態(tài)相沖突氢烘,因此請(qǐng)求不能成功。
410 Gone:所請(qǐng)求的文檔已經(jīng)不再可用家厌,而且服務(wù)器不知道應(yīng)該重定向到哪一個(gè)地址播玖。它和404的不同在于,返回407表示文檔永久地離開了指定的位置饭于,而404表示由于未知的原因文檔不可用蜀踏。
411 Length Required:服務(wù)器不能處理請(qǐng)求维蒙,除非客戶發(fā)送一個(gè)Content-Length頭。
412 Precondition Failed:請(qǐng)求頭中指定的一些前提條件失敗果覆。
413 Request Entity Too Large:目標(biāo)文檔的大小超過(guò)服務(wù)器當(dāng)前愿意處理的大小颅痊。如果服務(wù)器認(rèn)為自己能夠稍后再處理該請(qǐng)求,則應(yīng)該提供一個(gè)Retry-After頭局待。
414 Request URI Too Long:URI太長(zhǎng)斑响。
416 Requested Range Not Satisfiable:服務(wù)器不能滿足客戶在請(qǐng)求中指定的Range頭。
500 Internal Server Error:服務(wù)器遇到了意料不到的情況钳榨,不能完成客戶的請(qǐng)求舰罚。
501 Not Implemented:服務(wù)器不支持實(shí)現(xiàn)請(qǐng)求所需要的功能。例如薛耻,客戶發(fā)出了一個(gè)服務(wù)器不支持的PUT請(qǐng)求营罢。
502 Bad Gateway:服務(wù)器作為網(wǎng)關(guān)或者代理時(shí),為了完成請(qǐng)求訪問下一個(gè)服務(wù)器饼齿,但該服務(wù)器返回了非法的應(yīng)答饲漾。
503 Service Unavailable:服務(wù)器由于維護(hù)或者負(fù)載過(guò)重未能應(yīng)答。例如缕溉,Servlet可能在數(shù)據(jù)庫(kù)連接池已滿的情況下返回503考传。服務(wù)器返回503時(shí)可以提供一個(gè)Retry-After頭。
504 Gateway Timeout:由作為代理或網(wǎng)關(guān)的服務(wù)器使用证鸥,表示不能及時(shí)地從遠(yuǎn)程服務(wù)器獲得應(yīng)答僚楞。
505 HTTP Version Not Supported:服務(wù)器不支持請(qǐng)求中所指明的HTTP版本。?