上期文章小編給大家介紹了一些關(guān)于MQTT協(xié)議的基礎(chǔ)知識,今天我們來了解另一個應(yīng)用層協(xié)議——HTTP協(xié)議。
什么是HTTP協(xié)議?
HTTP( Hyper Text Transfer Protocol 超文本傳輸協(xié)議),是一個用于傳輸超文本文檔的應(yīng)用層協(xié)議,與 MQTT一樣,是基于TCP/IP協(xié)議之上的通訊協(xié)議,它是為Web瀏覽器與Web服務(wù)器之間的通信而設(shè)計的。
HTTP協(xié)議基本特點:
(1)基于TCP協(xié)議,應(yīng)用層協(xié)議
(2)傳輸一些HTML、CSS、JavaScript內(nèi)容
(3)請求及響應(yīng)
(4)簡單可擴展:語義簡單且可在請求頭自定義內(nèi)容
(5) 無狀態(tài):請求之間是相互孤立的
HTTP協(xié)議發(fā)展
HTTP協(xié)議到目前為止所有的版本可以分為HTTP 0.9、HTTP 1.0、HTTP 1.1、HTTP 2.0、HTTP 3.0,其中普遍應(yīng)用的是HTTP 1.1版本,正在推進HTTP 2.0版本,以及未來的HTTP 3.0版本,今天主要介紹這三個版本。
「HTTP 1.1 」
HTTP代表超文本傳輸協(xié)議,這是一種自1989年推出以來用于通過萬維網(wǎng)進行通信的應(yīng)用程序協(xié)議。HTTP是互聯(lián)網(wǎng)上的計算機和服務(wù)器用來請求和發(fā)送信息的一種方法。
HTTP 1.1是標準化的協(xié)議,HTTP 1.1消除了大量歧義內(nèi)容并引入了多項改進。
HTTP利用一些簡單的方法在計算機之間發(fā)送和接收信息。兩種最常見的方法是:獲取和發(fā)布。當客戶端計算機與服務(wù)器通信時,它會發(fā)送命令來指示服務(wù)器下一步該做什么。作為響應(yīng),服務(wù)器通常會將資源(如 HTML 網(wǎng)頁)返回給客戶端計算機。
「HTTP 2.0 」
HTTP 2.0是HTTP協(xié)議的第一個主要修訂版,通過實施各種優(yōu)化技術(shù)來減少網(wǎng)頁加載延遲。HTTP 2.0由IETF(互聯(lián)網(wǎng)工程任務(wù)組)于2015年5月發(fā)布,旨在成為與所有可用Web瀏覽器兼容的標準通信方法。
主要特點:
(1)HTTP/2 連接都是永久的,而且僅需要每個來源一個連接。
(2)流控制:阻止發(fā)送方向接收方(服務(wù)器)發(fā)送大量數(shù)據(jù)的機制。
(3) 服務(wù)器可主動推送信息。
雖然HTTP 1.1和HTTP 2.0共享語義以促進兩個協(xié)議之間的通信,但它們用于傳遞數(shù)據(jù)的方法可能會有很大差異。
HTTP 2.0 和 HTTP 1.x 之間的主要區(qū)別如下:
(1)HTTP 2.0將請求和響應(yīng)消息編碼為二進制,而不是傳輸使用HTTP 1.1看到的普通純文本消息。
(2)HTTP 2.0是完全多路復(fù)用和并發(fā)的,這意味著與HTTP 1.x中的有限請求相比,它可以向網(wǎng)站發(fā)出更多的請求。
(3)利用網(wǎng)站資產(chǎn)的流優(yōu)先級。
(4)標頭壓縮用于減少開銷處理。
「HTTP 3.0 」
HTTP 3.0是2020年8月發(fā)布的基于QUIC網(wǎng)絡(luò)協(xié)議的新版本HTTP。HTTP 3.0作為超文本傳輸協(xié)議(HTTP)的第三個版本,以前稱為HTTP-over-QUIC。QUIC(Quick UDP Internet Connections)最初由Google開發(fā),是HTTP 2.0的繼任者。谷歌和Facebook等公司已經(jīng)在使用QUIC來加速網(wǎng)絡(luò)。
作為一個非常新的協(xié)議,HTTP 3.0可能會在未來幾年內(nèi)發(fā)生一些變化,但它的基礎(chǔ)仍將牢牢地基于QUIC協(xié)議。
QUIC(快速UDP互聯(lián)網(wǎng)連接)是一種新的網(wǎng)絡(luò)傳輸層協(xié)議,與TCP相比,旨在顯著減少延遲并提高效率。從本質(zhì)上講,連接建立得更快 - 特別是當網(wǎng)絡(luò)條件不是最佳時。由于QUIC減少了TCP慢啟動問題,視頻流的速度可能會顯著提高,尤其是在UHD及以上版本中。此外,在移動網(wǎng)絡(luò)和Wi-Fi網(wǎng)絡(luò)之間移動時,出于同樣的原因,HTTP / 3也可以提供速度改進。
HTTP 3.0 進化發(fā)展的意義
HTTP 3.0與HTTP 1.x和HTTP 2.0中使用的傳統(tǒng)方法有幾個顯著差異。
①網(wǎng)絡(luò)協(xié)議:UDP 與 TCP
HTTP 3.0和舊版本(僅使用TCP)之間最明顯的區(qū)別是HTTP 3.0完全基于QUIC,它利用UDP。UDP是一種用于快速通信的傳輸協(xié)議,通過該協(xié)議可以錯誤地傳輸數(shù)據(jù)。這主要用于視頻傳輸,其中接收實時圖像至關(guān)重要,并且視頻幀損壞不是主要問題。
使用新的QUIC協(xié)議,Web服務(wù)器現(xiàn)在能夠發(fā)送并行請求/響應(yīng)。這意味著,如果一個請求或響應(yīng)遇到數(shù)據(jù)包丟失,則其他請求或響應(yīng)不會因此而停止。
②標頭壓縮:QPACK 與 HPACK
HTTP 3.0使用QPACK,這是一種壓縮格式,用于表示HTTP通過QUIC在HTTP中使用的HTTP標頭。
就像HTTP 2.0一樣,這是由Google的帶頭推動的進步。很快HTTP 3.0將再次建立在這些成就之上。雖然HTTP 2.0確實為我們提供了多路復(fù)用,并減輕了行頭阻塞,但它受到TCP的約束。HTTP 3.0通過基于無連接UDP協(xié)議的QUIC構(gòu)建,連接的概念不具有TCP的限制,并且一個流的故障不必影響其余流。它重新定義了網(wǎng)絡(luò)層的邊界,依賴于較低級別的UDP協(xié)議,重新定義了“用戶空間”中的握手,可靠性功能和安全功能,避免了升級互聯(lián)網(wǎng)系統(tǒng)內(nèi)核的需要。
-
通信
+關(guān)注
關(guān)注
18文章
6206瀏覽量
137851 -
Web
+關(guān)注
關(guān)注
2文章
1287瀏覽量
71468 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9796瀏覽量
88018 -
HTTP
+關(guān)注
關(guān)注
0文章
525瀏覽量
33546
發(fā)布評論請先 登錄
一文了解電壓諧波

HTTP協(xié)議在工業(yè)領(lǐng)域會用到嗎
一文詳解JESD204B協(xié)議

HTTP 協(xié)議對于SEO優(yōu)化的影響
如何使用 cURL 測試 HTTP 協(xié)議
HTTP 1.1 和 HTTP 2.0 的區(qū)別
如何使用 HTTP 協(xié)議進行數(shù)據(jù)傳輸
如何實現(xiàn) HTTP 協(xié)議的安全性
HTTP 協(xié)議的基本概念
socket 與 HTTP 協(xié)議的關(guān)系
socket與HTTP協(xié)議的比較
低功耗4G模組HTTP網(wǎng)絡(luò)協(xié)議應(yīng)用

一文帶你了解SCP快充協(xié)議
一文了解TCP/IP協(xié)議

評論