Web服務器響應瀏覽器或其他客戶程序的請求時,其應答一般由以下幾個部分組成:一個狀態行,幾個應答
頭,一個空行,內容文檔。下面是一個最簡單的應答 :
狀態行包含HTTP版本、狀態代碼、與狀態代碼對應的簡短說明信息。在大多數情況下,除了Content-Type之
外的所有應答頭都是可選的。但Content-Type是必需的,它描述的是后面文檔的MIME類型。雖然大多數應答
都包含一個文檔,但也有一些不包含,例如對HEAD請求的應答永遠不會附帶文檔。有許多狀態代碼實際上用
來標識一次失敗的請求,這些應答也不包含文檔(或只包含一個簡短的錯誤信息說明)。
當用戶試圖通過 HTTP 訪問一臺正在運行 Internet 信息服務 (IIS) 的服務器上的內容時,IIS 返回一個
表示該請求的狀態的數字代碼。狀態代碼可以指明具體請求是否已成功,還可以揭示請求失敗的確切原因。
1xx - 信息提示
這些狀態代碼表示臨時的響應。客戶端在收到常規響應之前,應準備接收一個或多個 1xx 響應。
? 100 - Continue 初始的請求已經接受,客戶應當繼續發送請求的其余部分。(HTTP 1.1新)
? 101 - Switching Protocols 服務器將遵從客戶的請求轉換到另外一種協議(HTTP 1.1新)
2xx - 成功
這類狀態代碼表明服務器成功地接受了客戶端請求。
? 200 - OK 一切正常,對GET和POST請求的應答文檔跟在后面。
? 201 - Created 服務器已經創建了文檔,Location頭給出了它的URL。
? 202 - Accepted 已經接受請求,但處理尚未完成。
? 203 - Non-Authoritative Information 文檔已經正常地返回,但一些應答頭可能不正確,因為使用的
是文檔的拷貝,非權威性信息(HTTP 1.1新)。
? 204 - No Content 沒有新文檔,瀏覽器應該繼續顯示原來的文檔。如果用戶定期地刷新頁面,而
Servlet可以確定用戶文檔足夠新,這個狀態代碼是很有用的。
? 205 - Reset Content 沒有新的內容,但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸
入內容(HTTP 1.1新)。
? 206 - Partial Content 客戶發送了一個帶有Range頭的GET請求,服務器完成了它(HTTP 1.1新)。
3xx - 重定向
客戶端瀏覽器必須采取更多操作來實現請求。例如,瀏覽器可能不得不請求服務器上的不同的頁面,或通過
代理服務器重復該請求。
? 300 - Multiple Choices 客戶請求的文檔可以在多個位置找到,這些位置已經在返回的文檔內列出。如
果服務器要提出優先選擇,則應該在Location應答頭指明。
? 301 - Moved Permanently 客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動
地訪問新的URL。
? 302 - Found 類似于301,但新的URL應該被視為臨時性的替代,而不是永久性的。注意,在HTTP1.0中對
應的狀態信息是“Moved Temporatily”。出現該狀態代碼時,瀏覽器能夠自動訪問新的URL,因此它是一個
很有用的狀態代碼。注意這個狀態代碼有時候可以和301替換使用。例如,如果瀏覽器錯誤地請求
http://host/~user (缺少了后面的斜杠),有的服務器返回301,有的則返回302。嚴格地說,我們只能假
定只有當原來的請求是GET時瀏覽器才會自動重定向。請參見307。
? 303 - See Other 類似于301/302,不同之處在于,如果原來的請求是POST,Location頭指定的重定向目
標文檔應該通過GET提?。℉TTP 1.1新)。
? 304 - Not Modified 客戶端有緩沖的文檔并發出了一個條件性的請求(一般是提供If-Modified-Since
頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。
新聞熱點
疑難解答