The ABNF for status-line is currently:
status-line = HTTP-version SP status-code SP reason-phrase CRLF
reason-phrase = *( HTAB / SP / VCHAR / obs-text )
I.e., reason-phrase can be empty, but the SP before it is still required.
it appears that some parsers generate an error if this SP is not present, while others do not. Suggest instead:
status-line = HTTP-version SP status-code [ SP reason-phrase ] CRLF
reason-phrase = 1*( HTAB / SP / VCHAR / obs-text )
?