如何理解 TCP IP, SPDY, WebSocket 三者之間的關係?

時間 2021-05-06 14:35:47

1樓:龍騰道默默地

TCP是基於IP(IP是一種協議,不是IP位址)實現的,HTTP(1.1)、SPDY、WebSocket、HTTP2.0是基於TCP實現的。

IP:乙個底層網路定址協議。

TCP:乙個相對可靠確保資訊送達、且按順序送達的中層資訊傳輸協議,效能相對於UDP較差。

HTTP(1.1):上層網頁資訊傳輸協議。

SPDY:在HTTP2.0未出現時,為了解決HTTP(1.1)的不足,Google率先實現的載入優化協議。

WebSocket、HTTPS2.0:為了解決HTTP(1.1)的不足,而發明的標準化協議。

2樓:

1. http的不足

OSI協議分為7層,目前主流TCP/IP分為4層。TCP/IP的最高層(應用層),隱式地需要實現會話層,表示層,應用層這三層的功能。(如果你認為OSI細分7層是有道理的話)。

對於HTTP協議來說,在TCP傳輸層上實現了端到端的連線之後,沒有進一步地將此通道復用的實現了。如果將HTTP協議看作OSI模型的第七層協議,它也確實沒有義務來實現將TCP傳輸層通道細分精分的。

如何高效率的利用乙個傳輸層通道?

因為TCP的「三次握手」,「四次分手」,「慢啟動」等特性,HTTP的在某些使用場景下,響應速度會比較慢,而且由於HTTP固定的頭部帶了的傳輸開銷,所以可以在以下方面改善:

1,傳輸通道分成多個子通道,來標識不同的會話。

2,每個會話分離出多個事務(協議幀)。

HTTP協議本身的C-S模型,也限制了伺服器不能主動發起乙個非同步請求。

所以SPDY協議在改善HTTP響應速度,傳輸效率,非同步方式,安全等方面,都做了改善,比如:

1. TCP層的多路復用。在乙個TCP連線上,同時承載多個HTTP請求,並具有優先順序控制。

2. HTTP頭部壓縮,減少冗餘資料。同乙個會話具有的某些固定的上下文資訊,不必每次都通過無狀態的HTTP頭來傳輸。

3. 使用SSL作為傳輸層上的安全封裝。

4. 使用gzip壓縮資料。

5. 非同步模式, server可以主動發起請求,可以帶來更多的業務型別。

如何理解functional programming裡的currying與partial application

李欣宜 定義乙個多參函式f arg1,arg2 argn 時,如果每個引數argi的型別為ti,這個多參函式最後的返回結果的型別為rtype,那麼可以說f的型別為 t1 t2 tn rtype 這是很多語言對於多參函式的解釋,把這些引數作為乙個tuple或者list傳入,即 t1 t2 tn 型別的...

如何理解 It make A one of Canada s most popular cities to live in ?

加拿大公共健康 這個語法有問題。It makes.A stands for a city s name. 首先,絕對是It makes.然後,回答題主的問題 1 正解 2 最高端要求有範圍的限定,所以平時一般看到的最高端都加定冠詞。但是Canada s已經是個範圍的限定,就不需要了,再舉幾個例子 o...

如何理解菩薩?

修行者 其實菩薩二字當做梵語 菩提薩埵 菩提是覺悟之意。什麼叫菩提?覺悟叫菩提。什麼叫覺悟?察見般若的道理叫覺悟,六識五蘊空寂無相,無相之相,得其妙有,叫做覺悟,找到自己的妙明真心而不著其所找,就叫覺悟。薩埵是有情,有情就是有情識 有生命的一切,不管是人 是蟲 是其他的眾生,扁毛或圓毛,或者看得到 ...