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

客户端发起半关闭请求并得到确认,如果我不误解半关闭意味着什么,客户端之后不应该能够发送任何数据,那么它如何能够在以后发回ACK.