-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
Description
Version: v.4.8.0, v7.9.0
Platform: OSX 10.10.5 (Darwin MC-S103314.local 14.5.0 Darwin Kernel Version 14.5.0: Sun Sep 25 22:07:15 PDT 2016; root:xnu-2782.50.9~1/RELEASE_X86_64 x86_64)
Subsystem: http / net
http(s) HEAD requests don't obey Keep-Alive, even when Connection: Keep-Alive is set.
The same http(s) GET request obeys Keep-Alive.
I believe I've followed this down to:
- which is called from
node/deps/http_parser/http_parser.c
Line 2105 in db1087c
parser->flags & F_SKIPBODY) { /* response to a HEAD request */ - this propagates back to
node/deps/http_parser/http_parser.c
Line 2132 in db1087c
return !http_message_needs_eof(parser); - with
Line 61 in a4b9c58
function parserOnHeadersComplete(versionMajor, versionMinor, headers, method, shouldKeepAliveset tofalse, regardless of aConnection: Keep-Aliveheader.
I've been unable to find anything in any linked RFC from the above code block to support this being per-specification, if it is I'd appreciate someone highlighting it to me.