You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From my limited understanding it seems to to look for a header which has a colon (but not in first position) is a candidate for HTTP version and then grabs the 3 characters after HTTP.
While that may work in a HTTP/1.0 and HTTP/1.1 world (though even there seems flakey) it definitely won't work in a HTTP/2 which has pseudo headers which begin with a colon (so in position 0) such as :authority: (note the 3 characters after the 5 characters is ori) or :status: (note the 3 characters after the 5 characters is us:) and also only has a 1 character version number not 3.
It looks like the correct version number is in the _protocol column but don't think you can get a different value for request and response like I guess you could get in the pre-HTTP/2 world.
The text was updated successfully, but these errors were encountered:
tunetheweb
changed the title
httpVersion not captured correctly
httpVersion not captured correctly in HTTP Archive har file
Sep 19, 2020
httpVersion is not captured correctly more often than not and seems to be blank for HTTP/1.1 requests and either
ori
orus:
I had a grep through the code and found this (and a similar one for response further down):
https://github.com/WPO-Foundation/webpagetest/blob/3afaeea71067efa0316786b79cae4de7d9724f8c/www/har/HttpArchiveGenerator.php#L227-L260
From my limited understanding it seems to to look for a header which has a colon (but not in first position) is a candidate for HTTP version and then grabs the 3 characters after HTTP.
While that may work in a HTTP/1.0 and HTTP/1.1 world (though even there seems flakey) it definitely won't work in a HTTP/2 which has pseudo headers which begin with a colon (so in position 0) such as
:authority:
(note the 3 characters after the 5 characters isori
) or:status:
(note the 3 characters after the 5 characters isus:
) and also only has a 1 character version number not 3.It looks like the correct version number is in the
_protocol
column but don't think you can get a different value for request and response like I guess you could get in the pre-HTTP/2 world.The text was updated successfully, but these errors were encountered: