RFC2616 第 4.4 部分指定如何在 HTTP/1.1 中确定消息的结尾。该部分中的第 5 项指定服务器可以关闭连接以指示响应已完成。
它还继续说,像这样划分请求是不可能的。但是,TCP 允许客户端关闭其端并继续接收响应。我什至测试过它;有用。
问题:
为什么 1999 年的标准说这实际上是不可能的?那时 TCP 已经很好地建立起来,并且到那时已经支持了很长一段时间的半关闭(可能从 1974 年就一直支持?)。
客户端半关闭连接以指示请求结束是否违反协议?
请忽略这是否是一个好主意:我知道您有时无法完全判断连接是故意关闭还是刚刚断开,以及保持连接打开以供以后重用如何更有意义。