謝希仁版本:
無連接,這就是說雖然http使用了tcp連接,但通信雙方在交換http報文之前不需要先建立http連接。
思否:
無連接,限制每次連接只處理一個請求,服務器處理完客戶的請求,並收到用戶的應答后就斷開連接。
優點:節省傳輸時間
此無連接並非字面上的沒有連接(那為什么要在字面上用無連接這個詞,真的是不懂),事實上,這個定義也符合http短連接的定義,但無連接強調的是http的特性,短連接可理解為一種是實現。
無連接的含義也可以結合HTTP無狀態的含義在應用層面上去理解:每一個請求都擁有自己的請求體,期望接收到唯一的對應的響應體,而每一次的請求都相互獨立,與上一次或下一次的請求毫無關系,哪怕是在同一條連接中(后面說的長連接)。也正因為這個特性,我們在考慮業務代碼實現的時候,無需考慮請求之間的關系,只需考慮業務是如何在當前請求完成的。
而HTTP真正的連接,根據計算機網絡體系的協議棧可知,是通過運輸層的TCP協議實現的,下層向上層提供了可靠的連接,上層屏蔽了下層的具體實現,所有的操作均在可靠的連接基礎之上。HTTP使用TCP的目的是為了保證數據傳輸的可靠性和完整性。
簡單來說就是:
- TCP的面向連接是基於網絡底層的數據傳輸。
- HTTP的無連接是基於應用層面的溝通交互。
簡單化理解:
不同的請求之間相互獨立。