Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
HTTP/2 POST fails from browser over TLS #597
Some major browsers use HTTP/2 for HTTPS requests. As it turns out
Here's a sample HTTP/2 sessions for Chrome (you can see one in chrome://net-internals): https://gist.github.com/fizruk/84c0feef4315028a20aaf13a31cb7dfd
I have disabled HTTP/2 for now and it's okay for me, but it would be nice to fix this issue.
Consider this app:
I can post a JSON object with nghttp:
So, HTTP/2 POST in plaintext is working in this case.
I've recently encountered this issue in one of our applications. It seems to be only occurring on Chrome and Safari, and only seems to happen when the POST request has no content.
I've posted an example Yesod application here: https://gist.github.com/BlakeRain/9ce990e5dbb1546f245a92a4bef50a08
The example shows a simple form that submits no fields. When the POST request is made, the handler is not called and Chrome/Safari report similar errors to:
Disabling HTTP/2 (via
As we're running behind Keter, disabling HTTP/2 in our application has no effect. So, a simple botch for us has been to insert a hidden field with a dummy value to make sure that some content is being submitted.
I'm seeing this too, likewise on Chrome when the POST request has no content.
I'm on Stack LTS-10.0, with