天天看點

HTTP1.0 、1.1

網上有很多資料說明這個,但都很長的,覺得東西太多也記不住,就記點東西,權當筆記。

HTTP

超文本傳輸協定(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網絡協定。設計HTTP最初的目的是為了提供一種釋出和接收HTML頁面的方法。

HTTP封包由從客戶機到伺服器的請求和從伺服器到客戶機的響應構成。

請求封包格式如下:

請求行 - 請求頭 - 請求包體

請求行:請求行由URL字段、方法字段 和HTTP協定版本字段3個部分組成,之間用空格隔開。

請求頭:請求頭包含關于用戶端請求的資訊,由關鍵字/值對組成,每行一對,關鍵字和值用英文冒号“:”分隔。

請求包體:請求包體不在GET方法中使用,而是在POST方法中使用(送出表單)。與請求包體相關的最常使用的是包體類型 Content-Type 和包體長度 Content-Length。

應答封包格式如下:

狀态行 - 響應頭 -  響應包體

狀态行:狀态行由HTTP協定版本字段、狀态碼和狀态碼的描述文本3個部分組成,之間用空格隔開。

響應頭:響應頭包含服務端的響應資訊,由關鍵字/值對組成,每行一對,關鍵字和值用英文冒号“:”分隔。

響應包體:伺服器傳回給用戶端的文本資訊。

HTTP1.0 、1.1

HTTP1.0

HTTP 協定老的标準是HTTP/1.0,HTTP 1.0規定浏覽器與伺服器隻保持短暫的連接配接,浏覽器的每次請求都需要與伺服器建立一個TCP連接配接,伺服器完成請求處理後立即斷開TCP連接配接,伺服器不跟蹤每個客戶也不記錄過去的請求。

這樣每次請求和響應都需要建立一個單獨的連接配接,每次連接配接隻是傳輸一個資源,上一次和下一次請求完全分離。用戶端和伺服器端每次建立和關閉連接配接卻是一個相對比較費時的過程,并且會嚴重影響客戶機和伺服器的性能。

http1.0被抱怨最多的就是連接配接無法複用,和head of line blocking這兩個問題。用戶端是依據域名來向伺服器建立連接配接,一般PC端浏覽器會針對單個域名的server同時建立6~8個連接配接,手機端的連接配接數則一般控制在4~6個。顯然連接配接數并不是越多越好,資源開銷和整體延遲都會随之增大。連接配接無法複用會導緻每次請求都經曆三次握手和慢啟動。三次握手在高延遲的場景下影響較明顯,慢啟動則對檔案類大請求影響較大。head of line blocking會導緻帶寬無法被充分利用,以及後續健康請求被阻塞。

HTTP1.1

為了克服HTTP 1.0的這個缺陷,HTTP 1.1支援持久連接配接(HTTP/1.1的預設模式使用帶流水線的持久連接配接),在一個TCP連接配接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接配接的消耗和延遲。多個請求和應答可以在一個連接配接中傳輸,但每個單獨的網頁檔案的請求和應答仍然需要使用各自的連接配接。HTTP 1.1還允許用戶端不用等待上一次請求結果傳回,就可以發出下一次請求,但伺服器端必須按照接收到用戶端請求的先後順序依次回送響應結果,以保證用戶端能夠區分出每次請求的響應内容,這樣也顯著地減少了整個下載下傳過程所需要的時間。

HTTP 1.1通過增加更多的請求頭和響應頭來改進和擴充HTTP 1.0的功能。

HTTP 1.1中增加Host請求頭字段後,WEB浏覽器可以使用主機頭名來明确表示要通路伺服器上的哪個WEB站點,這才實作了在一台WEB伺服器上可以在同一個IP位址和端口号上使用不同的主機名來建立多個虛拟WEB站點。

HTTP 1.1的持續連接配接,也需要增加新的請求頭來幫助實作,例如,Connection請求頭的值為Keep-Alive時,用戶端通知伺服器傳回本次請求結果後保持連接配接;Connection請求頭的值為close時,用戶端通知伺服器傳回本次請求結果後關閉連接配接。

HTTP 1.1還提供了與身份認證、狀态管理和Cache緩存等機制相關的請求頭和響應頭。

HTTP/1.0不支援檔案斷點續傳,RANGE:bytes是HTTP/1.1新增内容,HTTP/1.0每次傳送檔案都是從檔案頭開始,即0位元組處開始。RANGE:bytes=XXXX表示要求伺服器從檔案XXXX位元組處開始傳送,這就是我們平時所說的斷點續傳! 

1.0與1.1差別

HTTP/1.1相較于 HTTP/1.0 協定的差別主要展現在:

1 緩存處理

2 帶寬優化及網絡連接配接的使用

3 錯誤通知的管理

4 消息在網絡中的發送

5 網際網路位址的維護

6 安全性及完整性

參考文獻

本文轉自 海角在眼前 部落格園部落格,原文連結:http://www.cnblogs.com/lovesong/p/6937078.html   ,如需轉載請自行聯系原作者

繼續閱讀