HTTP1.0最早在網(wǎng)頁(yè)中使用是在1996年际邻。
而HTTP1.1在1999年才開始廣泛應(yīng)用音念,HTTP1.1也是當(dāng)前使用最為廣泛的HTTP協(xié)議甜孤。
他倆的主要區(qū)別有:
- HTTP1.1支持長(zhǎng)連接纸巷,在一個(gè)TCP連接上可以傳送多個(gè)HTTP請(qǐng)求和響應(yīng)棒掠,減少了建立和關(guān)閉連接的開銷。而HTTP1.0則是每次請(qǐng)求都要?jiǎng)?chuàng)建連接绢彤。
- HTTP1.1引入了更多的緩存控制策略
- HTTP1.1在請(qǐng)求頭引入了range頭域茫舶,允許只請(qǐng)求資源的某個(gè)部分
- HTTP1.1新增了24個(gè)錯(cuò)誤狀態(tài)響應(yīng)碼,對(duì)錯(cuò)誤通知的管理比1.0更豐富
- HTTP1.1的請(qǐng)求消息和響應(yīng)消息都支持Host頭域嚷往,而HTTP1.0則認(rèn)為每臺(tái)服務(wù)器都綁定一個(gè)唯一的IP地址,所以請(qǐng)求消息中的URL并沒有傳遞主機(jī)名贷祈。但是隨著虛擬主機(jī)技術(shù)的發(fā)展势誊,HTTP1.0的這種方式不能滿足了粟耻,因?yàn)橐慌_(tái)物理服務(wù)器上可以存在多個(gè)虛擬主機(jī),它們共享一個(gè)IP地址册烈。
HTTP2.0在性能上有了很大的提升,它的主要改動(dòng)和優(yōu)化列舉如下:
- 采用二進(jìn)制格式傳輸數(shù)據(jù)
- 多路復(fù)用:允許同時(shí)通過(guò)單一的HTTP/2鏈接發(fā)起多重的請(qǐng)求-響應(yīng)消息。
- 首部壓縮:對(duì)消息頭采用HPACK進(jìn)行壓縮傳輸,節(jié)省消息頭占用的網(wǎng)絡(luò)的流量哀卫。
- 服務(wù)端推送:服務(wù)端可以主動(dòng)推送文件資源給客戶端,而不需要客戶端解析HTML再發(fā)送請(qǐng)求共啃,用于獲得資源。