HTTP1.0和HTTP1.1區別及http狀態碼

HTTP1.0和HTTP1.1的主要區別
1,HTTP/1.0協議使用非持久連接,即在非持久連接下,一個tcp連接只傳輸一個Web對象,;
2,HTTP/1.1默認使用持久連接(然而,HTTP/1.1協議的客戶機和服務器可以配置成使用非持久連接)。在持久連接下,不必爲每個Web對象的傳送建立一個新的連接,一個連接中可以傳輸多個對象!

HTTP目前三個版本:HTTP0.9、HTTP1.0、HTTP1.1。
(1)HTTP0.9是最早的版本 ,它只定義了最基本的簡單請求和簡單回答;HTTP1.0較完善,也是目前使用廣泛的一個版本;HTTP1.1增加了大量的報頭域,並對HTTP1.0中沒有嚴格定義的部分作了進一步的說明。
2)HTTP1.1提供了一個基於口令基本認證方法,目前所有的WEB服務器都可以通過“基本身份認證”支持訪問控制。在身份認證上,針對基本認證方法以明文傳輸口令這一最大弱點,補充了摘要認證方法,不再傳遞口令明文,而是將口令經過散列函數變換後傳遞它的摘要
(3)針對HTTP協議的改進還有安全HTTP協議SHTTP。最新版本的SHTTP1.3它建立在HTTP1.1基礎上,提供了數據加密、身份認證、數據完整、防止否認等能力。

1**- 信息提示

這些狀態代碼表示臨時的響應。客戶端在收到常規響應之前,應準備接收一個或多個 1xx 響應。
100 - Continue 初始的請求已經接受,客戶應當繼續發送請求的其餘部分。(
101 - Switching Protocols 服務器將遵從客戶的請求轉換到另外一種協議。(

2**- 成功
這類狀態代碼表明服務器成功地接受了客戶端請求。
200 - OK 一切正常,對GET和POST請求的應答文檔跟在後面。
201 - Created 服務器已經創建了文檔,Location頭給出了它的URL。
202 - Accepted 已經接受請求,但處理尚未完成。
203 - Non-Authoritative Information 文檔已經正常地返回,但一些應答頭可能不正確,因爲使用的是文檔的拷貝,非權威性信息(新)。
204 - No Content 沒有新文檔,瀏覽器應該繼續顯示原來的文檔。如果用戶定期地刷新頁面,而Servlet可以確定用戶文檔足夠新,這個狀態代碼是很有用的。

205 - Reset Content 沒有新的內容,但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸入內容(新)。

206 - Partial Content 客戶發送了一個帶有Range頭的GET請求,服務器完成了它(新)。


3** - 重定向
客戶端瀏覽器必須採取更多操作來實現請求。例如,瀏覽器可能不得不請求服務器上的不同的頁面,或通過代理服務器重複該請求。
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提取(新)。
304 - Not Modified 客戶端有緩衝的文檔併發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩衝的文檔還可以繼續使用。
305 - Use Proxy 客戶請求的文檔應該通過Location頭所指明的代理服務器提取(新)。
307 - Temporary Redirect 和302(Found)相同。許多瀏覽器會錯誤地響應302應答進行重定向,即使原來的請求是POST,即使它實際上只能在POST請求的應答是303時才能重定向。由於這個原因,HTTP 1.1新增了307,以便更加清除地區分幾個狀態代碼:當出現303應答時,瀏覽器可以跟隨重定向的GET和POST請求;如果是307應答,則瀏覽器只能跟隨對GET請求的重定向。(新)

4** - 客戶端錯誤
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。

400 - Bad Request 請求出現語法錯誤。

401 - Unauthorized 訪問被拒絕,客戶試圖未經授權訪問受密碼保護的頁面。應答中會包含一個WWW-Authenticate頭,瀏覽器據此顯示用戶名字/密碼對話框,然後在填寫合適的Authorization頭後再次發出請求。IIS 定義了許多不同的 401 錯誤,它們指明更爲具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在 IIS 日誌中顯示:
401.1 - 登錄失敗。
401.2 - 服務器配置導致登錄失敗。
401.3 - 由於 ACL 對資源的限制而未獲得授權。
401.4 - 篩選器授權失敗。
401.5 - ISAPI/CGI 應用程序授權失敗。
401.7 – 訪問被 Web 服務器上的 URL 授權策略拒絕。這個錯誤代碼爲 IIS 6.0 所專用。
403 - Forbidden 資源不可用。服務器理解客戶的請求,但拒絕處理它。通常由於服務器上文件或目錄的權限設置導致。禁止訪問:IIS 定義了許多不同的 403 錯誤,它們指明更爲具體的錯誤原因:
403.1 - 執行訪問被禁止。
403.2 - 讀訪問被禁止。
403.3 - 寫訪問被禁止。
403.4 - 要求 SSL。
403.5 - 要求 SSL 128。
403.6 - IP 地址被拒絕。
403.7 - 要求客戶端證書。
403.8 - 站點訪問被拒絕。
403.9 - 用戶數過多。
403.10 - 配置無效。
403.11 - 密碼更改。
403.12 - 拒絕訪問映射表。
403.13 - 客戶端證書被吊銷。
403.14 - 拒絕目錄列表。
403.15 - 超出客戶端訪問許可。
403.16 - 客戶端證書不受信任或無效。
403.17 - 客戶端證書已過期或尚未生效。
403.18 - 在當前的應用程序池中不能執行所請求的 URL。這個錯誤代碼爲 IIS 6.0 所專用。
403.19 - 不能爲這個應用程序池中的客戶端執行 CGI。這個錯誤代碼爲 IIS 6.0 所專用。
403.20 - Passport 登錄失敗。這個錯誤代碼爲 IIS 6.0 所專用。

404 - Not Found 無法找到指定位置的資源。這也是一個常用的應答。
404.0 -(無) – 沒有找到文件或目錄。
404.1 - 無法在所請求的端口上訪問 Web 站點。
404.2 - Web 服務擴展鎖定策略阻止本請求。
404.3 - MIME 映射策略阻止本請求。
405 - Method Not Allowed 請求方法(GET、POST、HEAD、Delete、PUT、TRACE等)對指定的資源不適用,用來訪問本頁面的 HTTP 謂詞不被允許(方法不被允許)(新)
406 - Not Acceptable 指定的資源已經找到,但它的MIME類型和客戶在Accpet頭中所指定的不兼容,客戶端瀏覽器不接受所請求頁面的 MIME 類型(新)。
407 - Proxy Authentication Required 要求進行代理身份驗證,類似於401,表示客戶必須先經過代理服務器的授權。(新)
408 - Request Timeout 在服務器許可的等待時間內,客戶一直沒有發出任何請求。客戶可以在以後重複同一請求。(新)
409 - Conflict 通常和PUT請求有關。由於請求和資源的當前狀態相沖突,因此請求不能成功。(新)
410 - Gone 所請求的文檔已經不再可用,而且服務器不知道應該重定向到哪一個地址。它和404的不同在於,返回407表示文檔永久地離開了指定的位置,而404表示由於未知的原因文檔不可用。(新)
411 - Length Required 服務器不能處理請求,除非客戶發送一個Content-Length頭。(新)
412 - Precondition Failed 請求頭中指定的一些前提條件失敗(新)。
413 – Request Entity Too Large 目標文檔的大小超過服務器當前願意處理的大小。如果服務器認爲自己能夠稍後再處理該請求,則應該提供一個Retry-After頭(新)。
414 - Request URI Too Long URI太長(新)。
415 – 不支持的媒體類型。
416 – Requested Range Not Satisfiable 服務器不能滿足客戶在請求中指定的Range頭。(新)
417 – 執行失敗。
423 – 鎖定的錯誤。

5** - 服務器錯誤
服務器由於遇到錯誤而不能完成該請求。
500 - Internal Server Error 服務器遇到了意料不到的情況,不能完成客戶的請求。
500.12 - 應用程序正忙於在 Web 服務器上重新啓動。
500.13 - Web 服務器太忙。
500.15 - 不允許直接請求 Global.asa。
500.16 – UNC 授權憑據不正確。這個錯誤代碼爲 IIS 6.0 所專用。
500.18 – URL 授權存儲不能打開。這個錯誤代碼爲 IIS 6.0 所專用。
500.100 - 內部 ASP 錯誤。
501 - Not Implemented 服務器不支持實現請求所需要的功能,頁眉值指定了未實現的配置。例如,客戶發出了一個服務器不支持的PUT請求。
502 - Bad Gateway 服務器作爲網關或者代理時,爲了完成請求訪問下一個服務器,但該服務器返回了非法的應答。 亦說Web 服務器用作網關或代理服務器時收到了無效響應。

502.1 - CGI 應用程序超時。

502.2 - CGI 應用程序出錯。

503 - Service Unavailable 服務不可用,服務器由於維護或者負載過重未能應答。例如,Servlet可能在數據庫連接池已滿的情況下返回503。服務器返回503時可以提供一個 Retry-After頭。這個錯誤代碼爲 IIS 6.0 所專用。
504 - Gateway Timeout 網關超時,由作爲代理或網關的服務器使用,表示不能及時地從遠程服務器獲得應答。(新) 。
505 - HTTP Version Not Supported 服務器不支持請求中所指明的HTTP版本。()。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章