天天看點

HTTP協定演進:為什麼說HTTP/1.1的時代已經過去了

作者:不一樣的科技宅
HTTP協定演進:為什麼說HTTP/1.1的時代已經過去了

前言

  歡迎來到今天的每日一題,每日一提。昨天聊到了,HTTP 是什麼。有哪些組成部分。并且最後提到了 HTTP 的一些缺點,比如:性能較低,容易導緻網絡擁塞和延遲,不支援伺服器推送等等。設計協定的大佬們,對這樣的缺點肯定是不能容忍的,是以 HTTP2 它來了。

HTTP協定演進:為什麼說HTTP/1.1的時代已經過去了

什麼 HTTP2?

  HTTP/2 是一種網絡協定,用于在 Web 浏覽器和伺服器之間傳輸資料。它是 HTTP/1.1 的更新版本,旨在提高性能和安全性,特别是在現代 Web 應用程式中,這些應用程式通常依賴于大量資源和實時通信。HTTP/2 具有許多改進,包括二進制資料格式,多路複用,頭部壓縮,伺服器推送等等,這些改進可以減少網絡延遲,提高資料傳輸速度,并使 Web 應用程式更加高效和可靠。

相對于 HTTP 有那些改進?

  1. 二進制協定:HTTP/2 采用二進制格式傳輸資料,與 HTTP/1.1 的文本格式不同,這意味着資料傳輸更加高效,且協定更易于解析和處理。
  2. 多路複用:HTTP/2 允許在同一個 TCP 連接配接上同時發送多個請求和響應,而不是像 HTTP/1.1 那樣需要建立多個連接配接,進而提高了網絡性能,減少了網絡延遲。
  3. 首部壓縮:HTTP/2 使用首部壓縮技術來減少資料傳輸的大小,減少網絡延遲,提高性能。
  4. 伺服器推送:HTTP/2 支援伺服器主動向用戶端推送資源,進而減少用戶端請求的數量,提高性能和響應速度。
  5. 流量控制:HTTP/2 引入了流量控制機制,可以避免網絡擁塞和傳輸阻塞,提高網絡性能和穩定性。
  6. 支援加密:HTTP/2 強制要求使用加密通信,提高了資料的安全性和隐私保護。
HTTP協定演進:為什麼說HTTP/1.1的時代已經過去了

HTTP2 就完美了嘛?

  雖然 HTTP/2 在性能和安全性方面有許多改進,但它并不是完美的協定,仍然存在一些限制和挑戰。

以下是 HTTP/2 仍面臨的一些問題:

  1. 相容性問題:雖然 HTTP/2 已經被廣泛支援,但仍有一些舊版本的浏覽器和伺服器不支援 HTTP/2,這可能會導緻一些相容性問題。
  2. 依賴于 TCP 協定:HTTP/2 協定仍然依賴于 TCP 協定來傳輸資料,這意味着在高延遲的網絡環境中,HTTP/2 的性能可能會受到影響。
  3. 安全性問題:雖然 HTTP/2 強制要求使用加密通信,但在一些安全性較弱的網絡環境中,仍然存在安全風險和攻擊威脅。
  4. 複雜性問題:相比于 HTTP/1.1,HTTP/2 協定具有更複雜的實作和部署要求,這可能增加了協定實施的複雜性和成本。
  5. 伺服器推送問題:雖然伺服器推送可以提高性能,但在一些情況下,可能會導緻資源的浪費和傳輸效率的降低,需要仔細權衡利弊。
HTTP協定演進:為什麼說HTTP/1.1的時代已經過去了

  總的來說,HTTP/2 是一種具有改進的網絡協定,但仍需要進一步的發展和優化,以應對不斷變化的 Web 應用程式和網絡環境的挑戰。是以 HTTP3 來了。

HTTP協定演進:為什麼說HTTP/1.1的時代已經過去了

HTTP3

  HTTP/3 是基于 QUIC 協定的下一代 Web 協定,在2020年釋出,它的目标是通過減少網絡延遲和提高傳輸速度來改善 Web 應用程式的性能。與 HTTP/2 和 HTTP/1 相比,HTTP/3 采用了全新的傳輸層協定,即 QUIC 協定,以提供更好的性能和安全性。

  QUIC 協定是一種基于 UDP 協定的傳輸層協定,由 Google 開發。它具有快速連接配接建立、流多路複用、零往返延遲、可靠的資料傳輸和内置的加密等特點,這些特點可以幫助加速 Web 應用程式的加載速度,減少網絡延遲和提高安全性。

HTTP3 新特性

HTTP/3 是在基于 QUIC 協定的下一代 Web 協定,具有以下一些新特性:

  1. 傳輸協定改進:HTTP/3 采用了 QUIC 作為其傳輸層協定,相對于 TCP 和 UDP,QUIC 具有更快的連接配接建立和更好的性能,同時提供了可靠的資料傳輸和安全性。QUIC 協定的快速連接配接建立和零往返延遲特性有助于減少網絡延遲和提高 Web 應用程式的性能。
  2. 流多路複用:HTTP/3 使用流多路複用技術,可以在單個連接配接上同時傳輸多個請求和響應,提高了并發處理的效率。
  3. 可靠的資料傳輸:HTTP/3 使用 QUIC 協定的可靠性傳輸機制,可以保證資料的可靠傳輸,避免了 HTTP/2 中出現的丢包和重傳問題。
  4. 快速重傳和擁塞控制:HTTP/3 使用 QUIC 協定的快速重傳和擁塞控制機制,可以更好地處理網絡擁塞和丢包,提高了 Web 應用程式的可靠性和性能。
  5. 加密:HTTP/3 使用 TLS 1.3 協定進行加密,可以保護 Web 應用程式免受中間人攻擊和資料洩露。
  6. 更小的延遲和帶寬消耗:HTTP/3 通過優化流控制和擁塞控制等機制,可以在保證資料傳輸可靠性的前提下,減少網絡延遲和帶寬消耗。

缺點

雖然HTTP/3具有許多優點和新特性,但它也有一些缺點:

  1. 相容性問題:由于HTTP/3基于QUIC協定,而QUIC協定在全球範圍内的支援程度相對較低,是以HTTP/3的普及和廣泛支援仍需要時間。
  2. 部署複雜性:HTTP/3需要使用新的協定棧和伺服器端軟體,這會增加部署和維護的複雜性和成本。
  3. 中間裝置限制:由于HTTP/3使用的是基于UDP的QUIC協定,而一些網絡裝置(如代理伺服器和防火牆)可能會阻止UDP流量,這可能會對HTTP/3的使用造成一些限制。
  4. 更高的 CPU 開銷:HTTP/3使用了加密和解密技術以確定安全性,這會帶來更高的CPU開銷,可能會對伺服器性能和響應時間産生一些影響。
  5. 可能增加網絡擁塞:由于HTTP/3支援更快的連接配接建立和資料傳輸,這可能會導緻更多的資料流經過網絡,可能會增加網絡擁塞的風險。

總結

  随着網際網路的不斷發展,HTTP 協定也在不斷進化和改進,從 HTTP/1.0 到 HTTP/1.1,再到 HTTP/2 和 HTTP/3,每一個版本都帶來了更加先進的技術和更好的性能優化。同時也推動了 Web 應用程式的發展和優化,為使用者帶來更好的網絡體驗和更高的效率。

  HTTP/3雖然具有許多優點和新特性,但它也有一些缺點和限制。這些問題需要被認真考慮和解決,以確定HTTP/3能夠在更廣泛的場景下得到應用和推廣。

  是以我們在做技術選型時不能一味的追新,新技術雖然具有許多優點和新特性,但是這些新技術也需要更加複雜的基礎設施和更高的性能要求,同時也需要我們不斷學習和适應。

結尾

  如果覺得對你有幫助,可以多多評論,多多點贊哦,也可以到我的首頁看看,說不定有你喜歡的文章,也可以随手點個關注哦,謝謝。

  我是不一樣的科技宅,每天進步一點點,體驗不一樣的生活。我們下期見!