回覆列表
  • 1 # 老張一笑

    Http是基於tcp的,為什麼會慢?這問題沒頭為什麼,你自己寫的http比原生的慢可以理解,因為能力不足。

  • 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比較慢。

  • 中秋節和大豐收的關聯?
  • 你居住的村子,周邊的坑塘還存在嗎?