首頁  >  文章  >  web前端  >  關於http、https、http/2的知識

關於http、https、http/2的知識

一个新手
一个新手原創
2017-09-23 09:34:102861瀏覽

在學習http、https、http/2之前,先整理一下OSI網路模型、TCP/IP協定、TCP和UDP等內容。

一、簡單回顧一下OSI七層網路模型

OSI是一個開放性的通訊系統互連參考模型,是一個由國際標準化組織提出的協定規範。模型由上往下是:

  • 應用層(OSI 的應用層協定包括檔案的傳輸、存取及管理協定(FTAM) ,以及檔案虛擬終端協定(VIP)和公用管理系統資訊(CMIP))

  • 表示層(表示層供多種功能用於應用層資料編碼和轉換,以確保以一個系統應用層發送的資訊可以被另一個系統應用層識別)

  • 會話層(會話層建立、管理和終止表示層與實體之間的通訊會話)

  • 傳輸層(傳輸層向高層提供可靠的端對端的網路資料流服務)

  • #網路層(網路層負責在來源和終點之間建立連接)

  • 資料鏈結層(資料鏈結層透過實體網路連結供資料傳輸。不同的資料鏈結層定義了不同的網路和協定特徵,其中包括實體編址、網路拓樸結構、錯誤校驗、資料幀序列以及流控)

  • #物理層(物理層負責最後將資訊編碼成電流脈衝或其它訊號用於網路傳輸)

二、TCP/IP協定

TCP/IP協定整合了TCP和IP等多種協議,處理電腦與網路之間的傳輸,它參考並整合了OSI網路模型。常見的的TCP/IP協定分為四層,由上往下是:

  • 應用層(應用層對應於OSI 七層參考模型的應用層與表示層)

  • 傳輸層(傳輸層對應於OSI 七層參考模型的傳輸層,它供兩種端對端的通訊服務)

  • 網間層(本層包含IP 協定、RIP 協定(Routing Information Protocol,路由資訊協定),負責資料的包裝、定址與路由。同時也包含網際網路控制封包協定(Internet Control Message Protocol,ICMP)用來供網路診斷資訊)

  • 網路介面層(網路介面層包含用於協作IP資料在已有網路媒體上傳輸的協定)

#三、TCP和UDP

TCP(Transmission Control Protocol、傳輸控制協定)
是一種連接導向的、可靠的、基於位元組流的傳輸層通訊協定。 UDP(User Datagram Protocol、用戶資料報協定)是一個簡單的資料封包導向的傳輸層協定。他們負責OSI網路模型中傳輸層的處理。

TCP與UDP的簡單比較:

#TCP UDP
面向連線(三次握手、四次揮手) 無連線
資源佔用較多 #資源佔用減少
保證資料順序 #資料無順序
傳輸速度較慢 #傳輸速度快
保證資料正確性 容易丟包
串流模式 封包模式

四、HTTP

http(超文本傳輸協定)是一種常用於應用層的協議,它是基於文字傳輸內容。

八種請求方法

get、post、head、put、delete、trace、options、connect。

http請求資訊結構

  • 請求行

  • #請求頭

  • 空白行

  • 其他訊息

狀態碼

  • 1xx訊息-請求已被伺服器接收,繼續處理

  • 2xx成功-請求已成功被伺服器接收、理解、並接受

  • 3xx重定向-需要後續操作才能完成這項請求

  • 4xx請求錯誤-請求含有詞法錯誤或無法被執行

  • 5xx伺服器錯誤-伺服器在處理某個正確請求時發生錯誤

常見狀態碼200(請求成功)、302(重定向到些的url)、304(讀取快取)、404(找不到檔案或目錄)、405(請求指定的方法錯誤)、500(伺服器錯誤)、502(伺服器無效回應)

五、HTTPS

https可稱為http安全版,主要是http下增加了SSL(安全通訊端層)或TSL(傳輸層安全性),在SSL或TSL在傳輸層對資料進行了加密處理。

https特點:

  • 1、保證傳輸資訊安全(經過加密)

  • 2、需要申請憑證

  • 3、可以防止業者劫持

  • 4、由於增加了安全層,所以存取速度有所減慢

  • #5、http網站可以訪問https鏈接,https網站無法訪問http鏈接(除了部分支援mixed-content的瀏覽器)

六、SPDY

spdy是Google開放開放的網路傳輸協議,它位於http和ssl層之間,可以加快存取速度。

spdy的特點:

  • 1、可以降低延遲

  • 2、可以設定請求優先權

  • 3、header壓縮

  • 4、基於https保障傳輸安全性

  • 5、支援server push

七、HTTP/2

http/2(超文本傳輸協定第二版),他對http進行了一些升級改造,也參考了spdy相關的內容(可以稱為spdy的演化版本)。

http/2的特點:

  • 新的二進位格式

  • 多路復用

  • header壓縮

  • 支援server push

#http/2和spdy的差異:

  • http/2支援http傳輸、spdy只支援https

  • http/2和spdy的header壓縮演算法不同

參考文章

TCP和UDP的差異
HTTP,HTTP2.0,SPDY,HTTPS你應該知道的一些事
深入淺出-網路七層模型&&網路封包

以上是關於http、https、http/2的知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn