理解http的無連接


謝希仁版本:

無連接,這就是說雖然http使用了tcp連接,但通信雙方在交換http報文之前不需要先建立http連接。

思否:

無連接,限制每次連接只處理一個請求,服務器處理完客戶的請求,並收到用戶的應答后就斷開連接

優點:節省傳輸時間

此無連接並非字面上的沒有連接(那為什么要在字面上用無連接這個詞,真的是不懂),事實上,這個定義也符合http短連接的定義,但無連接強調的是http的特性,短連接可理解為一種是實現。

無連接的含義也可以結合HTTP無狀態的含義在應用層面上去理解:每一個請求都擁有自己的請求體,期望接收到唯一的對應的響應體,而每一次的請求都相互獨立,與上一次或下一次的請求毫無關系,哪怕是在同一條連接中(后面說的長連接)。也正因為這個特性,我們在考慮業務代碼實現的時候,無需考慮請求之間的關系,只需考慮業務是如何在當前請求完成的。

而HTTP真正的連接,根據計算機網絡體系的協議棧可知,是通過運輸層的TCP協議實現的,下層向上層提供了可靠的連接,上層屏蔽了下層的具體實現,所有的操作均在可靠的連接基礎之上。HTTP使用TCP的目的是為了保證數據傳輸的可靠性和完整性。

簡單來說就是:

  • TCP的面向連接是基於網絡底層的數據傳輸。
  • HTTP的無連接是基於應用層面的溝通交互。

簡單化理解:
不同的請求之間相互獨立。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM