HTTP2的好處
HTTP2已經釋出有一段時間了(今年2015年的5月正式釋出RFC 7540),新的HTTP2協議增加了很多改良的項目,那麼與舊版本的比較差異在哪?讓我們來看看HTTP2可以帶來甚麼好處。
向下相容於現在的網路環境
這點相信是大多數工程師聽到最高興的,至少不用因為版本更新修正程式碼或是問題,而且大部份所知的規則都延用HTTP,例如狀態碼(500,404一類)。
以二進位格式來傳輸
以二進位傳輸資料可以加快處理速度,省去編碼再轉碼的效能。
這是為甚麼?因為電腦處理資料時是以二進位在執行。
舉例來說HTTP1時的header是文字格式,所以伺服器先將送出資料從二進位轉成文字,等瀏覽器接到資料再從文字轉回二進位給電腦執行顯示網頁結果,HTTP2完全跳過這段編碼+轉碼的過程。
多連線複用(multiplexing)
在HTTP1時,因為乏態的模式,因此一個使用者瀏覽一次網頁,就已經產生了數條的連線,大量的連線耗用掉很多伺服器的連線數與資源。
然後在HTTP2,多連線複用改善了這個問題,在同一個連線數中,可以一次發出多個要求,一方面節省掉每次重新連線所花的認證時間,另一方面也因為省去重新連線,而不用多耗用伺服器效能。
由伺服器端主動推送至用戶端
主動推送這項功能,在HTTP1時,是需要另裝伺服器插件才能使用的功能,而且還因為瀏覽器支援的問題常常無法使用,而現在HTTP2已將推送的功能包含在內。
主動推送可以再進一步減低消耗與加速,例如可以主動推送已知的資源到瀏覽器,而不是以往都是瀏覽器要發出請求才會有回應,例如說使用者訪問網站時,伺服器收到請求就主動將css與javascript先推送給使用者,減少瀏覽器發送的請求也加快使用者體驗。
其實HTTP2還有另外做了其他項目的改動,但因為以上新增的內容可以很大幅度的優化現有網路環境,因此才特別列舉出來討論。
就目前已知的部份,HTTP2已經解決掉不少過去的缺點,且瀏覽器大多都已經宣佈支援HTTP2,安全性、效能都得到強化的HTTP2已經確定是網路未來的趨勢之一。
參考資源:
我要留言