-
1 # 老張一笑
-
2 # 關春生1
不在同一層啊。
TCP傳輸層,是快遞小哥。
HTTP應用層,是網店。
網店賣貨還得推廣、陪聊、講價,哪有快遞小哥速度快,按單子送貨就行了。
-
3 # 雲尚聰穎
因為http協議是封裝在tcp協議內傳輸的。就像快遞員送快遞,快遞員肯定先拿到你的快遞,然後你才能拿到快遞。
-
4 # 小林學IT
1.兩個不同層面的協議無法比較。
HTTP是應用層的協議,TCP是傳輸層協議,IP是網路層協議,本質上沒有可比性。
2.HTTP協議是基於TCP連線的。
這個比較就好像要比較飛機上的人的速度快還是飛機的速度快一樣。人在飛機上,受飛機速度影響,HTTP就好比人,TCP就好比飛機。
3.TCP 是搬運工,保證搬動的東西不被損壞,http協議是做業務的,用來決定要不要搬運,以及如何搬運,從哪去搬運 ;因此從這點來看http所需的開銷比tpc大。
-
5 # 遊走在程式碼裡的魚
首先,tcp對應的的udp這類傳輸層協議,http則是應用層協議,見下圖
兩個都不是同一層協議,如何比效能呢?http通常也是基於tcp協議之上的應用層協議!
拿http跟tcp 比效能,這個命題是有問題的!
估計題主是拿http跟其他基於tcp協議做的應用層協議比效能吧!
要說http協議效能低,主要原因在於,http協議的原理特性有關吧,它是無序的,也不是一直鏈接,另外他要經過定址跳轉才能到伺服器上(域名解析等等),請求一次返回資料就斷開,其他tcp之上的協議大多都是一直和伺服器或者其他裝置連結著,此外是ip直接連線,不存在域名解析耗時,所以效率上感覺http協議慢!
其次還有就是http效能效率收到伺服器端業務邏輯的複雜程度的至於,http協議通常業務比較複雜,其他基於tcp協議的應用層協議或許居士簡單的收發資料,響應資料等等
-
6 # 大齡java愛好者
你想問的是UDP為什麼比http快吧,是UDP,UDP屬於廣播的傳輸的,不像HTTP傳輸資料之前需要經過幾次握手。
-
7 # 記錄你的傳奇
其實http和tcp效能上應差別不大,當然考http的下層也能透過tcp/ip來實現的,多一個程式分包和包是要消耗一些時間,但是真正讓我們感覺反映速度的並不是http本身,通常是解解http內容的瀏覽器,因為瀏覽器要宣染html需要比較多的時間,所以我們會感覺http比較慢。
回覆列表
Http是基於tcp的,為什麼會慢?這問題沒頭為什麼,你自己寫的http比原生的慢可以理解,因為能力不足。