HTTP狀態嗎詳解

100-199 用於指定客戶端應相應的某些工作
200-299 用戶表示請求成功
300-399 用戶已經移動的文件並且常被包含在定位頭信息中指定的新的地址信息
400-499 用戶指定客戶端的錯誤
500-599 用戶指定服務器的錯誤

100(Continue/繼續):如果服務器收到頭信息中帶有100-continue的請求,這是指客戶端詢問是否可以在後續的請求中發送附件。在這種情況下,服務器用100(SC_CONTINUE)允許客戶端繼續或用417 (Expectation Failed)告訴客戶端不同意接受附件。這個狀態碼是 HTTP 1.1中新加入的。 

101(Switching Protocols/轉換協議):101 (SC_SWITCHING_PROTOCOLS)狀態碼是指服務器將按照其上的頭信息變爲一個不同的協議。這是 HTTP 1.1中新加入的。

200(OK/正常):返回正常

201(Created/已創建):表示服務器在請求過程中已經建立了新文檔,應在頭信息中給出他的URL

202(Accepted/接受):告訴客戶端,請求還在執行,沒有處理完

203 (Non-Authoritative Information/非官方信息):狀態碼203 (SC_NON_AUTHORITATIVE_INFORMATION)是表示文檔被正常的返回,但是由於正在使用的是文檔副本所以某些響應頭信息可能不正確。這是 HTTP 1.1中新加入的。

204(NO Content/無內容):在並沒有新文檔的情況下,204 (SC_NO_CONTENT)確保瀏覽器繼續顯示先前的文檔。這各狀態碼對於用戶週期性的重載某一頁非常有用,並且你可以確定先前的頁面是否已經更新。

205 (Reset Content/重置內容):重置內容205 (SC_RESET_CONTENT)的意思是雖然沒有新文檔但瀏覽器要重置文檔顯示。這個狀態碼用於強迫瀏覽器清除表單域。這是 HTTP 1.1中新加入的。

206 (Partial Content/局部內容):206 (SC_PARTIAL_CONTENT)是在服務器完成了一個包含Range頭信息的局部請求時被髮送的。這是 HTTP 1.1中新加入的。 

300(Multiple Choices/多重選擇):表示被請求的文件可以在多個地方得到,並將在放回的文檔中列出。如果服務器有首選設置,首選項將會被列於定位相應頭的信息中。

301(Moved Permanently):指所請求的文檔在別的地方,文檔新的URL會定位相應頭信息中給出。瀏覽器會自動連接到新的URL

302(Found/找到):與301有些類似,只是定位頭信息中所給的URL應被理解爲臨時交換地址而不是永久的。注意:在 HTTP 1.0中,消息是臨時移動(Moved Temporarily)的而不是被找到,因此HttpServletResponse中的常量是SC_MOVED_TEMPORARILY不是我們以爲的SC_FOUND。 

303 (See Other/參見其他信息):這個狀態碼和 301、302 相似,只是如果最初的請求是 POST,那麼新文檔(在定位頭信息中給出)要用 GET 找回。這個狀態碼是新加入 HTTP 1.1中的。 

304(Not Modified/爲修正):當客戶端有一個緩存的文檔,通過提供一個 If-Modified-Since 頭信息可指出客戶端只希望文檔在指定日期之後有所修改時纔會重載此文檔,用這種方式可以進行有條件的請求。304 (SC_NOT_MODIFIED)是指緩衝的版本已經被更新並且客戶端應刷新文檔。另外,服務器將返回請求的文檔及狀態碼 200。servlet一般情況下不會直接設置這個狀態碼。它們會實現getLastModified方法並根據修正日期讓默認服務方法處理有條件的請求。這個方法的例程已在2.8部分(An Example Using Servlet Initialization and Page Modification Dates/一個使用servlet初始化和頁面修正日期的例子)給出。 

305(Use Proxy/使用代理):表示所請求的文檔要通過定位頭信息中的代理服務器獲得

307(Temporary Redirect /臨時重定向):瀏覽器處理307狀態的規則與302相同。307狀態被加入到 HTTP 1.1中是由於許多瀏覽器在收到302響應時即使是原始消息爲POST的情況下仍然執行了錯誤的轉向。只有在收到303響應時才假定瀏覽器會在POST請求時重定向。添加這個新的狀態碼的目的很明確:在響應爲303時按照GET和POST請求轉向;而在307響應時則按照GET請求轉向而不是POST請求。注意:由於某些原因在HttpServletResponse中還沒有與這個狀態對應的常量。該狀態碼是新加入HTTP 1.1中的。 

400(Bad Request/錯誤請求):指出客戶端請求中的語法錯誤

401(Unauthorized/未授權):表示客戶端在授權頭信息中沒有有效的身份信息時,訪問收到密碼保護的頁面。這個授權必須包含一個WWW-Authenticate的授權信息頭

403(Forbidden/禁止):表示除非擁有授權,否則服務器拒絕提供所請求的資源。

404(Not Found):無法找到資源

405 (Method Not Allowed/方法未允許):指出請求方法(GET, POST, HEAD, PUT, DELETE, 等)對某些特定的資源不允許使用。該狀態碼是新加入 HTTP 1.1中的。 

406 (Not Acceptable/無法訪問):表示請求資源的MIME類型與客戶端中Accept頭信息中指定的類型不一致。406是新加入 HTTP 1.1中的。 

407 (Proxy Authentication Required/代理服務器認證要求):與401狀態有些相似,只是這個狀態用於代理服務器。該狀態指出客戶端必須通過代理服務器的認證。代理服務器返回一個Proxy-Authenticate響應頭信息給客戶端,這會引起客戶端使用帶有Proxy-Authorization請求的頭信息重新連接。該狀態碼是新加入 HTTP 1.1中的。 

408 (Request Timeout/請求超時):是指服務端等待客戶端發送請求的時間過長。該狀態碼是新加入 HTTP 1.1中的。 

409 (Conflict/衝突):該狀態通常與PUT請求一同使用,409 (SC_CONFLICT)狀態常被用於試圖上傳版本不正確的文件時。該狀態碼是新加入 HTTP 1.1中的。 

410 (Gone/已經不存在):告訴客戶端所請求的文檔已經不存在並且沒有更新的地址。410狀態不同於404,410是在指導文檔已被移走的情況下使用,而404則用於未知原因的無法訪問。該狀態碼是新加入 HTTP 1.1中的。 

411 (Length Required/需要數據長度):表示服務器不能處理請求(假設爲帶有附件的POST請求),除非客戶端發送Content-Length頭信息指出發送給服務器的數據的大小。該狀態是新加入 HTTP 1.1的。 

412 (Precondition Failed/先決條件錯誤):狀態指出請求頭信息中的某些先決條件是錯誤的。該狀態是新加入 HTTP 1.1的。 

413 (Request Entity Too Large/請求實體過大):告訴客戶端現在所請求的文檔比服務器現在想要處理的要大。如果服務器認爲能夠過一段時間處理,則會包含一個Retry-After的響應頭信息。該狀態是新加入 HTTP 1.1的。 

414 (Request URI Too Long/請求URI過長):狀態用於在URI過長的情況時。這裏所指的“URI”是指URL中主機、域名及端口號之後的內容。例如:在URL--http://www.y2k-disaster.com:8080/we/look/silly/now/中URI是指/we/look/silly/now/。該狀態是新加入 HTTP 1.1的。 

415 (Unsupported Media Type/不支持的媒體格式):意味着請求所帶的附件的格式類型服務器不知道如何處理。該狀態是新加入 HTTP 1.1的。 

416 (Requested Range Not Satisfiable/請求範圍無法滿足):表示客戶端包含了一個服務器無法滿足的Range頭信息的請求。該狀態是新加入 HTTP 1.1的。奇怪的是,在servlet 2.1版本API的HttpServletResponse中並沒有相應的常量代表該狀態。 

417 (Expectation Failed/期望失敗):如果服務器得到一個帶有100-continue值的Expect請求頭信息,這是指客戶端正在詢問是否可以在後面的請求中發送附件。在這種情況下,服務器也會用該狀態(417)告訴瀏覽器服務器不接收該附件或用100 (SC_CONTINUE)狀態告訴客戶端可以繼續發送附件。該狀態是新加入 HTTP 1.1的。 

500 (Internal Server Error/內部服務器錯誤):是常用的“服務器錯誤”狀態。該狀態經常由CGI程序引起也可能(但願不會如此!)由無法正常運行的或返回頭信息格式不正確的servlet引起。 

501 (Not Implemented/未實現):告訴客戶端服務器不支持請求中要求的功能。例如,客戶端執行了如PUT這樣的服務器並不支持的命令。 

502 (Bad Gateway/錯誤的網關):被用於充當代理或網關的服務器;該狀態指出接收服務器接收到遠端服務器的錯誤響應。 

503 (Service Unavailable/服務無法獲得):表示服務器由於在維護或已經超載而無法響應。例如,如果某些線程或數據庫連接池已經沒有空閒則servlet會返回這個頭信息。服務器可提供一個Retry-After頭信息告訴客戶端什麼時候可以在試一次。 

504 (Gateway Timeout/網關超時):該狀態也用於充當代理或網關的服務器;它指出接收服務器沒有從遠端服務器得到及時的響應。該狀態是新加入 HTTP 1.1的。 

505 (HTTP Version Not Supported/不支持的 HTTP 版本):是說服務器並不支持在請求中所標明 HTTP 版本。該狀態是新加入 HTTP 1.1的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章