早在HTTP創建之初,主要就是爲了將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器。也是說對於前端來講,咱們所寫的HTML頁面將要放在咱們的web服務器上,用戶端經過瀏覽器訪問url地址來獲取網頁的顯示內容,可是到了WEB2.0以來,咱們的頁面變得複雜,不只僅單純的是一些簡單的文字和圖片,同時咱們的HTML頁面有了CSS,Javascript,來豐富咱們的頁面展現,當ajax的出現,咱們又多了一種向服務器端獲取數據的方法,這些其實都是基於HTTP協議的。html
HTTP1.0最先在網頁中使用是在1996年,那個時候只是使用一些較爲簡單的網頁上和網絡請求上,而HTTP1.1則在1999年纔開始普遍應用於如今的各大瀏覽器網絡請求中,同時HTTP1.1也是當前使用最爲普遍的HTTP協議。 主要區別主要體如今:前端
HTTP2.0的多路複用和HTTP1.X中的長鏈接複用有什麼區別?web
HTTP/2多個請求可同時在一個鏈接上並行執行。某個請求任務耗時嚴重,不會影響到其它鏈接的正常執行;
具體如圖:ajax
服務器推送究竟是什麼?
服務端推送能把客戶端所須要的資源伴隨着index.html一塊兒發送到客戶端,省去了客戶端重複請求的步驟。正由於沒有發起請求,創建鏈接等操做,因此靜態資源經過服務端推送的方式能夠極大地提高速度。具體以下:segmentfault
普通的客戶端請求過程:瀏覽器
服務端推送的過程:緩存
爲何須要頭部壓縮?
假定一個頁面有100個資源須要加載(這個數量對於今天的Web而言仍是挺保守的), 而每一次請求都有1kb的消息頭(這一樣也並很多見,由於Cookie和引用等東西的存在), 則至少須要多消耗100kb來獲取這些消息頭。HTTP2.0能夠維護一個字典,差量更新HTTP頭部,大大下降因頭部傳輸產生的流量。具體參考:HTTP/2 頭部壓縮技術介紹性能優化
HTTP2.0多路複用有多好?
HTTP 性能優化的關鍵並不在於高帶寬,而是低延遲。TCP 鏈接會隨着時間進行自我「調諧」,起初會限制鏈接的最大速度,若是數據成功傳輸,會隨着時間的推移提升傳輸的速度。這種調諧則被稱爲 TCP 慢啓動。因爲這種緣由,讓本來就具備突發性和短時性的 HTTP 鏈接變的十分低效。
HTTP/2 經過讓全部數據流共用同一個鏈接,能夠更有效地使用 TCP 鏈接,讓高帶寬也能真正的服務於 HTTP 的性能提高。服務器
HTTP/2.0 相比1.0有哪些重大改進?
深刻研究:HTTP2 的真正性能到底如何
HTTP/2 頭部壓縮技術介紹網絡