2017-04-13 177 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'。