在HTTP1.0之後還有HTTP1.1了,先簡單說下HTTP1.1和1.0的區別,再說與2.0的區別。
HTTP1.0和HTTP1.1主要區別主要體現在:
1、長連線
HTTP 1.1支援長連線,在一個TCP連線上可以傳送多個HTTP請求和響應,但連線不能同時發出,而HTTP2.0的多路複用可以同時發出,在HTTP1.1中預設開啟Connection: keep-alive。
2、快取處理:
在HTTP1.0中主要使用header裡的If-Modified-Since,Expires來做為快取判斷的標準,HTTP1.1則引入了更多的快取控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等。
3、網路頻寬最佳化:
添加了range頭域,它允許只請求資源的某個部分,一般用於斷點下載。
4、錯誤通知的管理:
在HTTP1.1中新增了24個錯誤狀態響應碼,如409。
5、Host頭處理:
HTTP1.1的請求訊息和響應訊息都應支援在報文頭增加Host欄位,主要區分一個IP對應多 個HostName的情況。
HTTP2.0和HTTP1.X主要區別主要體現在:
1、多路複用
多個請求可以同時使用一個連線,可以同時使用一個連線主要也是藉助了HTTP2.0的二進位制分幀,請求被分為多個幀,不同請求之間也就不會亂序了。
2、首部壓縮
HTTP/1.x中,訊息主體都會經過 gzip 壓縮,但狀態行和頭部卻沒有經過任何壓縮,直接以純文字傳輸,在大量請求下必然存在著浪費。所以對頭部進行壓縮可以大大減少傳輸的資料量節約頻寬。
3、伺服器推送
HTTP/
1.x
可以看出來http從1.0到1.1再到2.0做的最佳化都是為了使用者的體驗更好,頁面載入更快,在有限的網路資源下傳送的有效內容更多。有了協議的最佳化,也可以使前端工程師把使用者體驗做的更好。
在HTTP1.0之後還有HTTP1.1了,先簡單說下HTTP1.1和1.0的區別,再說與2.0的區別。
HTTP1.0和HTTP1.1主要區別主要體現在:
1、長連線
HTTP 1.1支援長連線,在一個TCP連線上可以傳送多個HTTP請求和響應,但連線不能同時發出,而HTTP2.0的多路複用可以同時發出,在HTTP1.1中預設開啟Connection: keep-alive。
2、快取處理:
在HTTP1.0中主要使用header裡的If-Modified-Since,Expires來做為快取判斷的標準,HTTP1.1則引入了更多的快取控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等。
3、網路頻寬最佳化:
添加了range頭域,它允許只請求資源的某個部分,一般用於斷點下載。
4、錯誤通知的管理:
在HTTP1.1中新增了24個錯誤狀態響應碼,如409。
5、Host頭處理:
HTTP1.1的請求訊息和響應訊息都應支援在報文頭增加Host欄位,主要區分一個IP對應多 個HostName的情況。
HTTP2.0和HTTP1.X主要區別主要體現在:
1、多路複用
多個請求可以同時使用一個連線,可以同時使用一個連線主要也是藉助了HTTP2.0的二進位制分幀,請求被分為多個幀,不同請求之間也就不會亂序了。
2、首部壓縮
HTTP/1.x中,訊息主體都會經過 gzip 壓縮,但狀態行和頭部卻沒有經過任何壓縮,直接以純文字傳輸,在大量請求下必然存在著浪費。所以對頭部進行壓縮可以大大減少傳輸的資料量節約頻寬。
3、伺服器推送
HTTP/
1.x
中瀏覽器一般都是先請求html頁面,請求回來之後再發起請求js和css等,但是HTTP2.0可以在伺服器響應了html頁面後,直接把js和css推送到瀏覽器,這樣瀏覽器需要的時候直接從本地快取就可以拿到了可以看出來http從1.0到1.1再到2.0做的最佳化都是為了使用者的體驗更好,頁面載入更快,在有限的網路資源下傳送的有效內容更多。有了協議的最佳化,也可以使前端工程師把使用者體驗做的更好。