2017-04-13 181 views
1

我几乎是nodejs的新手。我正在研究一个小型nodejs微服务,并且它运行良好。但按照最近的要求,这项服务需要支持HTTP/1.1管道。但我无法在nodejs文档中找到如何启用/支持该功能。Nodejs HTTP/1.1管道支持

请指导我找到合适的doc/module/resource来实现HTTP/1.1管道。

谢谢。

+0

http://stackoverflow.com/a/5776649/5528611 – Helen

+0

还有一个类似的问题:http://stackoverflow.com/questions/30204528/node-js-pipelining-http-client-agent但这些是几年前。 – shaochuancs

回答

1

来自@shaochuancs和@Helen的评论是关于nodejs http 客户端

如果您需要完全依赖于nodejs核心库的HTTP管道的服务器实现。

HTTP服务器端流水线支持是内置的,并且已经在nodejs中正确(我刚刚在v5.5.0 v7.0.9和v6.2.1上测试过测试)。

要测试流水线支持,只需在同一个tcp/ip连接中链接两个HTTP请求。你可以使用telnet或netcat(nc)来完成。

# telnet, connecting to port 80, chaining 2 requests on /login 
# for host foo.com 
(echo -en "GET /login HTTP/1.1\nHost: foo.com\nConnection: keep-alive\n\nGET /login HTTP/1.1\nHost: foo.com\n\n"; sleep 10) | telnet localhost 80 
# same thing using printf and netcat 
printf "GET /login HTTP/1.1\r\nHost: foo.com\r\nConnection: keep-alive\r\n\r\nGET /login HTTP/1.1\r\nHost: foo.com\r\n\r\n" | nc -q 10 localhost 80 

然后计算响应的数量,您应该得到2(如果不支持流水线操作,则为1)。在输出中搜索'HTTP/1.1 200 OK'。