Why does querying HTTP_QUERY_RAW_HEADERS_CRLF return the status-line of an HTTP response?

551 views Asked by At

Calling:

l_hrResult = l_spWinINetHTTPInfo->QueryInfo( HTTP_QUERY_RAW_HEADERS_CRLF, l_pszBuffer,  &l_nSize, &l_nFlags, 0 );

Yields:

"HTTP/1.1 200 OK
Server: Apache
X-Jive-Request-Id: 72403b70-1131-11e5-92d1-0050568b475f
X-Jive-Flow-Id: 72403b71-1131-11e5-92d1-0050568b475f
X-Frame-Options: SAMEORIGIN
P3P: CP="CAO PSA OUR"
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Expires: Fri, 12 Jun 2015 18:32:57 GMT
Cache-Control: no-store, no-cache, must-revalidate, private, max-age=0
X-JSL: D=84282 t=1434133977254214
Date: Fri, 12 Jun 2015 18:32:57 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Connection: Transfer-Encoding

"

This is on Windows 7 x64, IE 11.

I would very much expect the first line to NOT be returned in a request for headers. It's hackable presumably in that any content found before the first crlf that doesn't contain a field/value delimiter : could be discarded - but that's a hack...

Am I using this wrong?

1

There are 1 answers

0
EricLaw On

No, you're not using it wrong.

The first line of the response (The "Status-Line") is indeed a part of the headers, it precedes the name/value paired Header fields.