用于持久连接的HTTP分块的替代方案?

时间:2013-04-07 04:30:33

标签: javascript node.js http

根据W3C specification on Server-Sent Events

  

作者还应注意,HTTP分块可能会对此协议的可靠性产生意外的负面影响。在可能的情况下,应该禁用对服务事件流的分块,除非消息的速率足够高,以免这一点无关紧要。

我究竟如何在node.js中执行此服务器端?设置Content-Length标头实际上不是一个选项,因为理想情况下连接应该永远不会关闭。我会将响应标头Transfer-Encoding设置为identity还是完全删除Transfer-Encoding标头?

1 个答案:

答案 0 :(得分:2)

如果您没有明确提供长度或手动设置传输编码,

节点将自动使用chunked编码。设置Connection: close也是一件好事,因为在服务器完成发送事件后,显然不会保持连接打开。

res.setHeader('Transfer-Encoding', 'identity');
res.setHeader('Connection', 'close');