Http
HTTP、TCP、UDP 和無連接
我最近對 HTTP 有點困惑。
一些事實是 TCP 可以操作面向連接或無連接,我理解這一點。TCP雖然是面向連接的,而UDP是無連接的,當消息本身可以放入單個消息時使用。
問題:
如果 HTTP 使用 TCP,並且 TCP 為多個消息交換提供可靠的連接,而 HTTP 被稱為無連接,那這怎麼可能呢?
TCP是面向連接的嗎?那麼HTTP無連接怎麼辦????
HTTP(沒有連接保持活動的 1.0)是無連接的,因為一旦處理了單個 HTTP 請求,連接就會關閉並且不會重用。HTTP 請求不是 TCP 協議數據單元,因此 TCP 相對於 TCP 協議數據單元是面向連接的,這並不能阻止 HTTP 相對於 HTTP 協議數據單元是無連接的。
當我們查看 HTTP 協議本身時,我們並不關心它在什麼協議之上分層。它可能是 TCP,但理論上,它可能是別的東西。所以 TCP 的屬性是完全不相關的。