1. 程式人生 > 其它 >http1.0與1.1的區別

http1.0與1.1的區別

HTTP/1.0和HTTP/1.1的區別:
(1)快取處理:在HTTP1.0中主要使用header裡的If-Modified-Since,Expires來做為快取判斷的標準,HTTP1.1則引入了更多的快取控制策略,例如Entity tag,If-Unmodified-Since,If-Match,If-None-Match等更多可供選擇的快取頭來控制快取策略
(2)頻寬優化及網路連線的使用:HTTP1.0中,存在一些浪費頻寬的現象,例如:客戶端只是需要某個物件的一部分,而伺服器卻將整個物件送過來了,並且不支援斷點續傳功能,HTTP1.1則在請求頭引入了range頭域,它允許只請求資源的某個部分,即返回碼是206(Partial Content),方便了開發者自由的選擇以便於充分利用頻寬和連線
(3)錯誤通知的管理:在HTTP1.1中新增24個狀態響應碼,如409(Conflict)表示請求的資源與資源當前狀態衝突;410(Gone)表示伺服器上的某個資源被永久性的刪除
(4)Host 頭處理:在HTTP1.0中認為每臺伺服器都繫結一個唯一的IP地址,因此,請求訊息中的URL並沒有傳遞主機名(hostname)。但隨著虛擬主機技術的發展,在一臺物理伺服器上可以存在多個虛擬主機(Multi-homed Web Servers),並且它們共享一個IP地址。HTTP1.1的請求訊息和響應訊息都應支援Host頭域,且請求訊息中如果沒有Host頭域會報告一個錯誤(400 Bad Request)
(5)長連線:HTTP 1.1支援持久連線(PersistentConnection)和請求的流水線(Pipelining)處理,在一個TCP連線上可以傳送多個HTTP請求和響應,減少了建立和關閉連線的消耗和延遲,在HTTP1.1中預設開啟Connection: keep-alive,彌補了HTTP1.0每次請求都要建立連線的缺點