HTTP協議知多少-關於http1.x、http2、SPDY的相關知識

來源:互聯網
上載者:User

標籤:span   分享   曆史   網路   htm   內容管理   book   intern   官網   

作為網站開發的基礎協議,我們知道瀏覽器上都有輸出http這四個字母,這意味著什麼呢?

這就是最基礎的HTTP協議。

 

逐浪君今天為各位大人準備了一些HTTP技術的知識,來和大家分享。

 

以為例:

 

這一個載入介面,至少用到了http/1.1、SPDY、Http/2(簡稱h2)三種瀏覽器技術。

 

先說HTTP/1.1:

HTTP1.1(Hypertext Transfer Protocol Version 1.1)超文字傳輸通訊協定 (HTTP)-版本1.1
它是用來在Internet上傳送超文本的傳送協議。它是運行在TCP/IP協議簇之上的HTTP應用協議,它可以使瀏覽器更加高效,使網路傳輸減少。任何伺服器除了包括HTML檔案以外,還有一個HTTP駐留程式,用於響應用使用者請求。您的瀏覽器是HTTP客戶,向伺服器發送請求,當瀏覽器中輸入了一個開始檔案或點擊了一個超級連結時,瀏覽器就向伺服器發送了HTTP請求,此請求被送往由URL指定的IP地址。駐留程式接收到請求,在進行必要的操作後回送所要求的檔案。

HTTP1.1支援續串連.通過這種串連,就有可能在建立一個TCP串連後,發送請求並得到回應,然後發送更多的請求並得到更多的回應.通過把建立和釋放TCP串連的開銷分攤到多個請求上,則對於每個請求而言,由於TCP而造成的相對開銷被大大地降低了.而且,還可以發送流水線請求,也就是說在發送請求1之後的回應到來之前就可以發送請求2.也可以認為,一次串連發送多個請求,由客戶機確認是否關閉串連,而伺服器會認為這些請求分別來自不同的用戶端。
與之相對的HTTP1.0
當串連建立起來以後,瀏覽器發送一個請求,之後一個回應訊息被送回來.然後TCP串連被釋放.這在早期,Web頁面通常只包含HTML文本,在這種情況下,這樣的做法已經足夠了.但是,現在的網頁一般還含有大量的表徵圖,圖象以及其他很養眼的內容,所以建立一個TCP串連僅僅傳輸一個表徵圖,則顯得代價太昂貴了.

 

 

再說HTTP/2:

HTTP/2,也就是超文字傳輸通訊協定 (HTTP)第2版,不論是1還是2,HTTP的基本語義是不變的,比如方法語義(GET/PUST/PUT/DELETE),狀態代碼(200/404/500等),Range Request,Cacheing,Authentication、URL路徑, 不同的主要是下面幾點:

HTTP2 主要是針對 Http1的下面幾個問題做的最佳化:

    • 並行能力有限

每一個源最大隻支援6個請求 
管道在實際使用時不起作用 
競爭性的TCP流,強制快速重傳(Spurious retransmissions) 
額外的握手、記憶體緩衝等

    • 用戶端請求隊列

隊首阻塞 
延遲的請求分發

    • 較高的協議負載

頭資訊和Cookies大約要800位元組 
HTTP中繼資料沒有壓縮

另外,HTTP/1.1隻允許由用戶端主動發起請求,服務端只能等待用戶端發送請求,這對於滿足預先載入的現狀是一種桎梏。

 HTTP 2.0 的出現,相比於 HTTP 1.x ,大幅度的提升了 web 效能。在與 HTTP/1.1 完全語義相容的基礎上,進一步減少了網路延遲。而對於前端開發人員來說,無疑減少了在前端方面的最佳化工作。本文將對 HTTP 2.0 協議 個基本技術點進行總結,聯絡相關知識,探索 HTTP 2.0 是如何提高效能的。


初露鋒芒

HTTP/2: the Future of the Internet 這是 Akamai 公司建立的一個官方的示範,用以說明 HTTP/2 相比於之前的 HTTP/1.1 在效能上的大幅度提升。 同時請求 379 張圖片,從Load time 的對比可以看出 HTTP/2 在速度上的優勢。

 

 

 

再說SPDY,這是Google創立的一種技術,誕生之初http/2並未定稿,所以用於解決過渡期問題。

HTTP/1.1在1999年由RFC 2616定為標準,從那以後,整個互連網就一直基於它在運行,其間有人提出了總共10個更新版本或替代協議,但是有些版本被認為還有改進的空間,尤其是效能方面。Google也是嘗試改進HTTP/1.1的公司之一,他們在2009年發布了SPDY協議。通常情況下,這種嘗試獲得成功的機會微乎其微,因為互連網有龐大的曆史包袱,但Google有一件武器能使SPDY流行起來:Chrome。他們搭建了自己的網站,修改了Chrome來支援SPDY,使用者被其更好的效能所吸引,把壓力留給了其他網站和瀏覽器開發商。

根據W3Techs的統一,目前,在全球超過12億的網站中,有3.4%使用了SPDY協議。這個比例看起來不高,但這份名單中包括了一些最大的網站,有Google、Facebook、Yahoo!、Twitter、YouTube、Wordpress等,這使得互連網每天通過SPDY協議來承載的頁面流量在總流量數中佔了相當大的份額。

負責HTTP/2.0標準化工作的IETF HTTPBIS工作小組在2012年的一次討論中,決定把SPDY作為HTTP/2.0的原型,但一開始他們沒有想完全採用它。微軟也提出了他們自己的提案,稱為HTTP Speed+Mobility。三年後,看起來SPDY已經在競爭中勝出,它已經被HTTPBIS工作小組採納為HTTP/2.0,並且進入標準化流程的最後階段。

由此,Google宣布SPDY於2016年頭退休,轉而採用HTTP/2.0。對於Google旗下的網站和Chrome來說,只是換了個協議名字,協議本身沒什麼變化。最新的Chrome 40裡面有個SPDY/4開關,有興趣測試HTTP/2.0的人可以開啟它。Google也打算不再讓Chrome支援NPN協議,轉而支援ALPN協議,並建議開發人員使用最新的TLS擴充。

是逐浪軟體www.z01.com官網在http/1.1和http/2.0協議下的載入速度實測圖,可以看到差別在10倍以上,值得部署。

 

關於部署HTTP/2,首先擁有高品質的伺服器(win2016+ssl是必要前提條件),同時需要有一個卓越的CMS支援,在這方面,Zoomla!逐浪CMS是國內產網站門戶系統中的佼佼者,值得推薦。

 

PS:繼2016年,Zoomla!逐浪CMS全面啟用SSL,成為國內首家支援SSL金融級網站內容管理系統後。

2017年7月15日,逐浪CMS官方宣布:全面為所有使用者提供HTTP/2高速門戶接入和技術規範服務,並融入到全新的Zoomla!逐浪CMS產品中,與其中的建站、APP產生、站群、辦公系統結合一體,打造中國優秀的網站管理系統。

 

HTTP協議知多少-關於http1.x、http2、SPDY的相關知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.