Hello,

On Thu, Dec 28, 2017 at 10:26 PM, Lucas Rolff <[email protected]> wrote:
>> the output of the http2 golang test and can you please both clarify which OS 
>> you reproduce this on?
>
> If I visit http2 golang test, I also don’t see it, and I saw it in developer 
> tools (Because dev tools shouldn’t put headers that isn’t requested/received) 
> – however based on your findings, that seem to be the case.
>
> What I find odd, is that Firefox (Together with Safari, and Webkit) all have 
> the same behaviour, however, I’m unable to reproduce it in Chrome and Opera.
> I can reproduce the error in nghttp and curl when using -H “Connection: 
> keep-alive” – omitting the header makes the request work in nghttp and curl 
> as well (as expected).
>
> However, are we sure that the http2 golang doesn’t just ignore the header (or 
> even removes it?)

You'r right, it does not show up - yet another useless tool:
$ curl -k --http2 https://http2.golang.org/reqinfo -H "Connection: keep-alive"



> I found that Firefox actually has a way to enable HTTP Logging to get info 
> about what’s going on – it can be enabled by going to about:networking#logging
>
> What I did is to first to take a sample where it doesn’t fail (now in this 
> case for a GET request), figure out what it does specific to my “app.css” 
> file, and then another request (retrying 20-30 times), until it failed, and 
> then comparing what differs.

This is log is just as useless as the developer tools, just look at
it, in the main thread everything is HTTP/1.1 in both not-working.txt
and Working.txt. Then the socket thread takes over and transform the
existing HTTP/1.1 request into a h2 stream. All the debug and
developer focus on the main thread and are therefor useless to debug
this issue.

You cannot rely on browser debugs or developer tools for this one.



> I’m personally sitting on OS X, and I’ve been able to reproduce it on Firefox 
> on Ubuntu 16.04 as well.

Can you triple check that you can reproduce this on Ubuntu? I was
unable, but maybe I didn't try hard enough.


I suggest you guys intercept the stream with SSLKEYLOGFILE in
wireshark and take a look at the actual real request, see:

https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/




Lukas

Reply via email to