HTTP、TCP、UDP 和无连接

HTTP、TCP、UDP 和无连接

最近我对 HTTP 有点困惑。

我理解的事实是,TCP 可以面向连接或无连接地运行。然而,TCP 是面向连接的,而 UDP 是无连接的,当消息本身可以容纳在单个消息中时使用。

问题:

如果 HTTP 使用 TCP,并且 TCP 为多条消息交换提供可靠的连接,而 HTTP 被认为是无连接的,那么这怎么可能呢?

TCP 是面向连接的?那么 HTTP 怎么会是无连接的呢???

答案1

HTTP(1.0 无连接保持)是无连接的,因为一旦单个 HTTP 请求得到服务,连接就会关闭并且不会重用。HTTP 请求不是 TCP 协议数据单元,因此 TCP 相对于 TCP 协议数据单元是面向连接的,但这并不妨碍 HTTP 相对于 HTTP 协议数据单元是无连接的。

当我们查看 HTTP 协议本身时,我们并不关心它位于哪种协议之上。它可能是 TCP,但理论上也可能是其他协议。因此 TCP 的属性完全无关紧要。

相关内容