http1.1 keep-alive timeout时服务端如何处理的?

码届小王 2020-05-05 08:52:26
比如 keep-alive 且 timeout 设置100毫秒,客户端发送多个请求其实是使用同一个socket连接的,想弄清楚这个连接的关闭过程
问题1:100毫秒来临时,如果客户端没有主动关闭连接(connection:close),服务端会怎么处理?会主动给客户端发connection:close的确认命令吗还是直接当方面关闭socket通道后续消息不再处理?
问题2:在100毫秒来临时,客户端在此socket上发起新的请求,而消息到达服务端时已经过了100毫米,服务端是如何处理的?

小弟看了http的官方文档好像也没太清楚的过程说明,百度上也没有
https://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8
希望大神指点迷津!讲清楚的给分
...全文
973 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
码届小王 2020-05-05
  • 打赏
  • 举报
回复
上面的问题一也等同于:http1.1 连接建立后,客户端突然挂了,服务端会怎么处理这个连接,关闭时肯定的,怎么关闭的?
比如是timeout 100毫秒后直接关闭?还是先和客户端确认,收到确认回复再关闭?一直没收到确认回复的话等一段时间后再关闭吗?

如果发送确认的话问题二等同于:发送确认但还没收到确认回复时,这中间收到了客户端新的请求,这个请求是怎么处置的?

大家有没有思考过,线上会有出现这种情况的可能性的!所以想学习清楚

1,738

社区成员

发帖
与我相关
我的任务
社区描述
网络协议与配置相关内容讨论专区
网络协议网络安全tcp/ip 技术论坛(原bbs)
社区管理员
  • 网络协议与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧