【问题标题】:how tcp communicate for HTTP 1.1tcp 如何为 HTTP 1.1 通信
【发布时间】:2015-03-05 06:12:12
【问题描述】:

我正在探索通过单个TCP 套接字的HTTP 1.1 持久连接,以获取来自客户端的多个HTTP 请求。我在wireshark 中观察到的一件事是,在每次请求响应之后,我的客户端都会向服务器发送ACK。这个ACK 消息调用是否符合协议标准?有什么办法可以跳过这个ACK 电话。我将客户端的通信行为与浏览器的通信模式进行了比较。我认为一旦 tcp 握手完成以建立连接,浏览器就不会向服务器发送任何 tcp 消息。

【问题讨论】:

  • " 我认为一旦 tcp 握手完成以建立连接,浏览器不会向服务器发送任何 tcp 消息" - 我认为你错了。当 HTTP 在 TCP 之上运行时(通常是这样),您无法在没有 TCP 流量的情况下发送 HTTP 消息。
  • 您到底为什么要摆脱 ACK?

标签: sockets tcp http-1.1


【解决方案1】:

ACK 是 TCP 的一部分。没有ACK 就无法建立 TCP 连接,它就是这样工作的。接收到的数据会被确认,因此发送者不会重新发送它。

HTTP 不依赖于TCP,您可以在其他协议上实现 HTTP。这两个协议应被视为独立的层,不应相互影响。

【讨论】:

    猜你喜欢
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多