要创建一个comet连接(挂起get),我没有在HTTP Header中指定content-length。这适用于我的系统但是会从学院局域网的另一台机器请求,它为请求提供了502 Bad Gateway。
如果我提到内容长度,我得到响应,但连接关闭,我不想要。有什么可以替代呢?
答案 0 :(得分:0)
遵循HTTP / 1.1规范以实现连接持久性。在回复中返回HTTP/1.1
。如果查询是HTTP / 1.1,则默认为保持连接打开。如果查询不是,则默认关闭它。如果您获得Connection: close
标头,请在发送响应后关闭连接。如果您获得Connection: keep-alive
标头,请保持连接打开,即使这不是协议默认值。
如果您不想关注HTTP/1.1
,则无论如何都可能会获得连接持久性。如果您通过上述规则成功建立持久性,请始终包含Connection: Keep-Alive
标头。如果您不支持持久连接,请发送Connection: Close
标头,即使客户端请求了一个。
基本上,请关注HTTP specification。如果您知道内容长度,则应始终发送Content-Length
标头。如果客户端可以支持持久连接,则使用持久性协商规则建立持久连接。