gpt4 book ai didi

HTTP Keep Alive 和 TCP Keep Alive

转载 作者:可可西里 更新时间:2023-11-01 02:28:45 29 4
gpt4 key购买 nike

HTTP Keep Alive是如何实现的?它在内部使用 TCP Keep Alive 吗?如果不是,服务器如何检测客户端是死是活?

最佳答案

我知道这是一个老问题,但仍然:

  • HTTP Keep-Alive 是一项允许 HTTP 客户端(通常是浏览器)和服务器(网络服务器)通过同一 TCP 连接发送多个请求/响应对的功能。这减少了第 2、3、... HTTP 请求的延迟,减少了网络流量和类似的。

  • TCP keepalive 是完全不同的野兽。它通过发送小数据包来保持 TCP 连接打开。此外,当发送数据包时,这用作检查,以便在连接断开时立即通知发送方(请注意,否则情况并非如此 - 在我们尝试通过 TCP 连接进行通信之前,我们不知道它是否正常).

回答您关于 HTTP Keep-Alive 的问题:

How is HTTP Keep Alive implemented? 

简而言之,HTTP 服务器不会在每次响应后关闭 TCP 连接,而是在其他 HTTP 请求也过来时等待一段时间。超时后它仍然会关闭它。

Does it internally use TCP Keep Alive? 

不,至少我看不出有什么意义。

If not, how does the server detect if the client is dead or alive?

它不需要 - 它不需要。如果客户端发送请求,它将获得响应。如果客户端未通过 TCP 连接发送任何内容(可能是因为连接已死),则超时将关闭连接;客户端当然会注意到这一点,并在需要时通过另一个 TCP 连接发送请求。

关于HTTP Keep Alive 和 TCP Keep Alive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9334401/

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