2017-04-13 8 views
1

Ich bin fast neu bei Nodejs. Ich arbeite an einem kleinen Nodejs Micro-Service und es läuft gut. Aber gemäß der letzten Anforderung muss dieser Dienst HTTP/1.1-Pipeline unterstützen. Aber ich finde in Nodejs doc nicht, wie man das aktiviert/unterstützt.Nodejs HTTP/1.1-Pipeline-Unterstützung

Bitte führen Sie mich finden geeignete doc/Modul/Ressource zu implementieren HTTP/1.1-Pipeline.

Danke.

+0

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

+0

Es gibt auch eine ähnliche Frage: http://StackOverflow.com/Questions/30204528/Node-JS-Pipelining-http-Client-agent, aber diese sind vor einigen Jahren. – shaochuancs

Antwort

1

Kommentare von @schaochuancs und @Helen sind über Nodejs http Client.

Wenn Sie eine Serverimplementierung der HTTP-Pipeline benötigen, die vollständig von der Nodejs-Kernbibliothek abhängt.

HTTP serverseitige Pipelining-Unterstützung ist eingebaut und bereits OK in Nodejs (Ich habe gerade die Tests auf v5.5.0 v7.0.9 und v6.2.1 getestet).

Um die Unterstützung für das Pipelining zu testen, ketten Sie einfach zwei HTTP-Anfragen in derselben tcp/ip-Verbindung ein. Sie können es mit telnet oder netcat (nc) tun.

# 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 

Dann zählen Sie die Anzahl der Antworten, sollten Sie 2 (oder 1, wenn Pipelining nicht unterstützt wird) erhalten. Suchen Sie in der Ausgabe nach 'HTTP/1.1 200 OK'.