gpt4 book ai didi

c - 与 HTTP 1.0 相比,HTTP 1.1 延迟 20 秒

转载 作者:可可西里 更新时间:2023-11-01 13:59:15 25 4
gpt4 key购买 nike

我用 C 语言编写了一个程序,用于向 Web 服务器发送 HTTP 1.1 POST 请求。
使用 wireshark 对其进行监控,服务器响应并获得 HTTP/1.1 200 OK 消息所需的时间不到一秒,但随后又需要 20 秒才能获得 FIN, ACK 数据包,我相信这就是导致 recv 返回 0 的原因,没有指定更多数据。
导致我的程序挂起 20 秒,等待服务器发送FIN, ACK 数据包。

我已经使用 HTTP 1.0 对此进行了测试,没有延迟。所以我认为这是因为 HTTP 1.1 默认情况下将所有连接视为 持久连接
但是我的网络浏览器使用 HTTP 1.1 并且没有延迟,所以我认为我做的不对。

我的一个想法是与其等待 recv 返回 0,不如通过其他方式检查我是否在文档末尾,但我想不出任何方式做这个。

那么,如果有人可以向我解释我应该如何做呢?提前致谢。

最佳答案

HTTP 1.1 默认保持连接,而 1.0 则没有。您可以通过在 header 中添加来请求非保持事件状态

Connection: close

指示服务器在连接完成后立即关闭连接。

关于c - 与 HTTP 1.0 相比,HTTP 1.1 延迟 20 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com