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

欧阳维杰

我发现了有关“连接超时”的两种解释:

  1. 当客户端在[超时]秒内未向服务器发送任何字节时,服务器将关闭套接字连接。它似乎与HTTP标头(Connection: keep-alive)有关。

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

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

TimeToLive,连接超时和请求超时之间有什么区别?

马图斯·杜布拉瓦(Matus Dubrava)

我将尝试非正式地回答。

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

请求超时-与之前客户端不愿等待服务器响应太长时间的情况一样,服务器也不愿将未使用的连接保持太长时间。一旦建立了服务器和客户端之间的连接,客户端必须通过向服务器发送信息来定期通知服务器它仍然存在。如果客户端未能在指定的时间内向服务器发送任何信息,则服务器会因为认为客户端不再在那里与之通信而直接断开此连接(为什么会浪费资源)。

生存时间(TTL) -是在数据包内部指定的值,该值是在创建数据包时设置的(通常为255),该值告诉数据包在网络中可以保留多长时间。当此数据包通过网络时,它到达位于数据包的原始地址与目的地之间的路径上的路由器。路由器每次重新发送数据包时,也会将其TTL值减1,如果该值下降为0,则路由器将丢弃该数据包,而不是重新发送该数据包,因为该数据包不再存在。这种机制用于防止网络被数据淹没,因为每个数据包只能在有限的“时间”内驻留在其中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章