繁体   English   中英

HTTP / 1.1是否允许通过半关闭连接来分隔请求的结束?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM