[英]Does HTTP/1.1 allow delimiting end of request by half-closing the connection?
RFC2616第4.4部分规定了如何在HTTP / 1.1中确定消息的结尾。 该部分中的第5项指定服务器可以关闭连接以指示响应已完成。
它还继续说,像这样划定请求是不可能的。 但是,TCP允许客户端关闭其结束并继续接收响应。 我甚至测试过它; 有用。
问题:
为什么1999年的标准说这在实际可能的情况下是不可能的? 那时TCP已经很好地建立起来了,并且到那时已经支持了半封闭(可能是自1974年以来的所有方式?)。
是否违反了协议,客户端半关闭连接以指示请求结束?
请忽略这是否是一个好主意:我知道你有时无法确定连接是故意关闭还是刚刚破坏,以及如何保持连接打开以便以后重用它更有意义。
它并没有说半封闭是不可能的。 它只是说'关闭连接不能用于指示请求体的结束',这是真的。 它根本不考虑半途关闭的可能性。 因为在RFC中没有提到,我会说使用它会违反协议,你应该没有理由期望服务器做出相应的反应:例如,服务器有权忘记请求和接收FIN时关闭连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.