首頁 > 科技週邊 > IT業界 > http/2:優點,缺點和您需要知道的

http/2:優點,缺點和您需要知道的

Jennifer Aniston
發布: 2025-02-19 10:02:10
原創
877 人瀏覽過

HTTP/2:網頁加載速度的革命性提升

HTTP/2是對HTTP/1.1的重大升級,旨在解決性能問題並縮短網站加載時間。它通過多路復用流、服務器推送、報頭壓縮和二進制格式等特性實現這一目標。

多路復用允許通過單個TCP連接同時發送多個請求和響應,從而減少擁塞並提高速度。服務器推送主動將資源發送到瀏覽器的緩存中,從而提高性能。報頭壓縮減少了數據檢索時間和帶寬使用。二進制格式更容易處理,從而減少了服務器工作負載和頁面加載時間。

HTTP/2: the Pros, the Cons, and What You Need to Know

開發者將不再需要使用諸如圖像雪碧圖、內聯和文件連接等解決方法來減少網頁上的請求數量。然而,大多數支持HTTP/2的瀏覽器都需要HTTPS加密,這可能會對一些考慮切換的用戶構成挑戰。

HTTP/2: the Pros, the Cons, and What You Need to Know

儘管HTTP/2有很多優點,但它也因過於關注帶寬而忽略了隱私問題而受到批評。有人認為,由於技術的快速發展以及需要更靈活的協議來應對不斷變化的技術挑戰,HTTP/2可能不會持續很長時間。

HTTP/1.1的工作方式

當您訪問網頁時,瀏覽器通過向Web服務器請求頁面的所有資源來獲取該頁面。自從Web誕生以來,這主要通過HTTP/1.1完成。

隨著時間的推移,技術不斷發展,網站變得越來越複雜和資源密集,HTTP/1.1協議承受著越來越大的壓力,需要許多變通方法來處理性能問題。

如今的網頁通常包含大量資源,例如圖像、文本、字體等,這使得它們比90年代甚至2000年代的網頁要重得多。因此,它們的加載時間更長,因此網頁設計師和開發人員想出了巧妙的變通方法來解決這個問題。然而,很明顯,HTTP協議本身需要更新。

HTTP/2的工作方式

您的瀏覽器仍然會向服務器發送請求並接收所需資源的響應,以便網頁能夠正常顯示,但兩者之間的細微差別將會改變。 HTTP/2引入了多路復用流、服務器推送、報頭壓縮和二進制格式等新特性,我們將依次探討這些特性。

  • 多路復用流: 多路復用通過將這些資源分成更小的部分,通過一個連接傳遞它們,然後在它們到達最終目的地(瀏覽器)後重新組裝資源,從而消除了由許多連接傳遞資源(如文本、字體和圖片)造成的擁塞問題。

  • 服務器推送: 服務器推送代表了一種更高效的向瀏覽器交付資源的方式。在HTTP/1環境中,HTML頁面被發送到瀏覽器,瀏覽器必須解析它並確定它可能需要的資源,然後向服務器請求這些資源。 HTTP/2在這方面更主動,它在瀏覽器不需要請求的情況下發送瀏覽器可能需要的資源。這些資源進入瀏覽器的緩存,並在需要時立即可用,這對性能來說是一個優勢。

  • 報頭壓縮: 在HTTP/1中,每個發送的請求都附加了一小部分附加數據——HTTP報頭——描述瀏覽器或服務器的行為方式。平均而言,瀏覽器一次大約可以建立6個連接,但考慮到加載典型網頁所需的連接數量可能高達100個,這仍然需要檢索大量數據,這需要時間和帶寬。當建立HTTP/2連接時,所有報頭都打包成一個壓縮塊作為一個整體發送。它傳輸速度更快,傳輸完成後,報頭塊被解碼。

  • 二進制格式代替文本格式: 文本格式有一些額外的開銷,需要改進,而二進制格式不需要任何解析。它也更緊湊。服務器的額外工作意味著需要額外的時間來等待網頁加載。這就是為什麼二進制格式更容易處理,是一個合理的改進。

HTTP/2: the Pros, the Cons, and What You Need to Know

開發者現在可以做些什麼不同的事情

開發者將不再需要進行圖像雪碧圖處理、內聯和文件連接,因為不需要減少網頁上的請求數量。基本上,這將是他們日常工作中最大的變化。然而,關於可能以某種方式影響他們工作的內部變化,還有更多需要說明的地方。

需要注意的事項

雖然HTTP/2規範本身並不強制要求,但大多數支持HTTP/2的瀏覽器都需要HTTPS加密。這意味著,如果您的HTTP/2站點不是通過加密連接提供的,訪問者要么必須找到其他客戶端來訪問您的站點,要么錯過它。

儘管現在有一些推動站點通過HTTPS提供的趨勢,但瀏覽器對這一要求提出了批評,並且無疑將成為一些考慮切換到HTTP/2的人面前的絆腳石。 (有關HTTPS是什麼以及如何實現它的更多技巧,請閱讀SitePoint最近對HTTPS的介紹。)

對於公眾來說,網絡的過渡將是無縫的。新協議版本工作所需的修改和升級將在服務器和瀏覽器中進行。服務器將隨著時間的推移而更新,最終支持這兩種協議。支持新協議的瀏覽器將自動切換到HTTP/2。同時,舊的瀏覽器將無法理解它。作為開發人員,您需要知道您的瀏覽器和您正在使用的服務器是否都支持HTTP/2,以確保連接將升級到HTTP/2。

一些爭議

雖然許多人對HTTP/2感到興奮,但其他人,如Poul-Henning Kamp,卻並不那麼印象深刻。 Kamp認為HTTP/2“實際上只是HTTP/1.2的一個宏偉名稱”,並認為如果它真的起飛,它很可能不會持續很長時間。

在他看來,新協議並沒有解決實際問題,而是過於關注帶寬。他建議,更好的關注點應該是取消cookie的概念,並用會話/身份工具來代替它。這將在一定程度上提高安全隱患日益增多的世界中的隱私性。而HTTP/2,Kamp認為,並沒有顯著提高隱私性。

查看差異

這個Akamai演示說明了兩種協議版本中資源是如何並發加載的。第一張圖片通過HTTP/1和六個並發連接(如果您使用的是Google Chrome)加載,而第二張圖片通過HTTP/2作為一個整體加載,所有部分同時加載。

HTTP/2: the Pros, the Cons, and What You Need to Know

如果您想更深入地了解數據在協議連接中的加載方式有何不同,請查看這個golang.org示例。它允許您嘗試不同的延遲設置,以便您可以看到數據如何在不同容量的設備上並發加載。延遲越長,HTTP/2在性能方面獲勝就越明顯。

HTTP/2: the Pros, the Cons, and What You Need to Know

底線

HTTP/2對普通用戶來說將是一個平緩的過渡,而對於從事網絡工作的人來說,則需要做出一些選擇。

一般來說,網站將更安全,加載速度更快。該協議沒有帶來任何根本性的變化,這可能是因為這種變化在技術上和政治上都更難實現。這就是為什麼HTTP/2可能不會為我們服務那麼久的原因。

技術世界每年都在發展得更快,所以幾年後我們可能需要其他的東西。我個人的希望是,下一個協議將更靈活,並且在應對不斷變化的技術挑戰方面更勇敢。

(FAQs)關於HTTP/2的常見問題解答 (此處省略FAQs部分,因為內容與前面已覆蓋的內容高度重疊,避免重複。)

以上是http/2:優點,缺點和您需要知道的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板