我知道在HTTP 1.0中,响应的内容通过关闭连接来终止。
在HTTP 1.1中,keep-alive连接被引入,允许在单个TCP连接中进行多个请求和响应。
当多条消息在同一连接上发送时,需要有一种机制来定义一条消息的结束和下一条消息的开始。
通过测试,我发现当我在响应中设置content-length头时,这个机制可以正常工作。通过知道内容长度,客户端就知道何时完全接收内容并可以解析下一个响应。
我的问题是: 在不设置content-length头的情况下,是否可能在keep-alive连接中发送多个响应? 如果可以,如何实现?
在HTTP 1.1中,keep-alive连接被引入,允许在单个TCP连接中进行多个请求和响应。
当多条消息在同一连接上发送时,需要有一种机制来定义一条消息的结束和下一条消息的开始。
通过测试,我发现当我在响应中设置content-length头时,这个机制可以正常工作。通过知道内容长度,客户端就知道何时完全接收内容并可以解析下一个响应。
我的问题是: 在不设置content-length头的情况下,是否可能在keep-alive连接中发送多个响应? 如果可以,如何实现?
为了澄清:我正在考虑当开始将响应发送到客户端时不知道响应长度的情况,并且我想知道关闭连接是否是实现这一点的唯一方法。