gpt4 book ai didi

http - 什么是 http 请求期间的连接超时

转载 作者:可可西里 更新时间:2023-11-01 15:30:40 28 4
gpt4 key购买 nike

我找到了两种关于“连接超时”的解释:

  1. 如果客户端在 [timeout] 秒内未向服务器发送任何字节,服务器将关闭套接字连接。它似乎与 HTTP header (Connection: keep-alive) 有某种关系。

  2. 如果在此期间未建立套接字连接,则客户端会在 [timeout] 秒后停止尝试连接到服务器。

所以我对这个定义感到困惑。什么是连接超时?客户端连接超时和服务器端连接超时有什么区别?

TimeToLive、连接超时和请求超时有什么区别?

最佳答案

我会尽量用非正式的方式回答。

连接超时 - 是客户端和服务器之间必须建立连接的时间段。假设您将浏览器(客户端)导航到某个网站(服务器)。发生的情况是您的浏览器开始监听来自该服务器的响应消息,但由于各种原因(例如服务器离线),该响应可能永远不会到达。因此,如果 X 秒后服务器仍然没有响应,您的浏览器将“放弃”等待,否则它可能会永远卡住。

请求超时 - 在之前的案例中,客户端不愿意等待服务器的响应太久,服务器也不愿意让未使用的连接保持事件太久。一旦建立了服务器和客户端之间的连接,客户端必须通过向服务器发送信息来定期通知服务器它仍然存在。如果客户端在指定时间内未能向服务器发送任何信息,服务器会简单地断开此连接,因为它认为客户端不再在那里与它通信(为什么会无意义地浪费资源)。

生存时间 (TTL) - 是在创建数据包时设置的数据包内部指定值(通常为 255),表示数据包在网络。当此数据包通过网络时,它会到达位于数据包来源和目的地之间路径上的路由器。每次路由器重新发送数据包时,它也会将其 TTL 值减 1,如果该值下降到 0,路由器不会重新发送数据包,而是简单地丢弃它,因为数据包不应该再存在了。这种机制用于防止网络被数据淹没,因为每个数据包只能在有限的“时间”内存在。

关于http - 什么是 http 请求期间的连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49704708/

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