gpt4 book ai didi

http - 带有超时的 Keep-Alive http header 未被 google、stackoverflow 等使用?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:36 25 4
gpt4 key购买 nike

我开始阅读有关 Keep-Alive 的内容,并考虑将其添加到我的网络服务器,但当我追踪到 http://google.com 时和 http://stackoverflow.com ,我注意到他们根本没有将此 header 发送回客户端(超时)。

这是为什么呢?我认为通常您想终止空闲时间超过 20 秒左右的连接。我实际上很好奇其他网站在使用什么。也许他们最终确实会超时空闲连接,但只是不告诉客户他们将要这样做(这看起来很奇怪)。

我执行了“telnet google.com 80”并等待了大约 2 分钟,它从未超时,然后我发出了“GET/HTTP/1.1”并等待了一段时间,而不是一遍又一遍地输入一堆随机垃圾(不确定他们是否也限制了 header 大小,所以我认为您“可以” OOM 他们的服务器)。我终于按了两次 Enter 并返回了 200 OK....我的标题都不是格式正确的,但谷歌似乎并不关心(奇怪)。

谢谢,院长

最佳答案

在 HTTP/1.1 及更高版本中,除非服务器明确发送“关闭”消息,否则保持事件状态是默认设置:https://www.rfc-editor.org/rfc/rfc7230#section-6.3因此无需发送 Connection: keep-alive header 。

事实上,在 HTTP/2 下,您甚至不允许发送此 Close header ,因此没有办法不使用保持事件状态,除非在处理请求后显式关闭连接 [使用 GOAWAY 消息][1 ].

在 HTTP/1.1 下,服务器可以在不通知客户端的情况下关闭连接。

所以 Google 和 StackExchange 正在使用 keep-alives - 他们只是没有在标题中做广告。

关于http - 带有超时的 Keep-Alive http header 未被 google、stackoverflow 等使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189639/

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