title: Google Chrome returns ERR_HTTP2_SERVER_REFUSED_STREAM for Ajax Call
body: <p>I'm experiencing an issue with Google Chrome 85 that I didn't seem to have with earlier versions.</p>
  <p>I'm triggering an ajax call that uploads a file to get it processed on the webserver.
  This call is a pretty basic multipart xhr POST request that uploads a file.</p>
  <p>For some reason Google Chrome (and Firefox) refuse to accept the response from the webserver. The Chrome Devtools show &quot;(failed)net::ERR_HTTP2_SERVER_REFUSED_STREAM&quot; in the Status column for the XHR request. But I have no idea why the browser seems to refuse the stream...</p>
  <p>I was able to debug the return &amp; fetch HTTP headers with curl, but I have no idea what is wrong with the return HTTP headers or why Google Chrome (and other browsers) seem to refuse the result.</p>
  <p>Any ideas / or suggestions how I can debug these HTTP headers for &quot;validity&quot;? Or some reason why they are refused?</p>
  <p>Request headers (copy &amp; pasted from the chrome devtools):</p>
  <pre><code>:authority: www.redactedwebsite.com
  :method: POST
  :path: /cms/multi-tab-taggable-attachment/fa0acf6/add
  :scheme: https
  accept: application/json
  accept-encoding: gzip, deflate, br
  accept-language: nl,en-US;q=0.9,en;q=0.8,zh;q=0.7,zh-TW;q=0.6,zh-CN;q=0.5,de;q=0.4,ja;q=0.3
  cache-control: no-cache
  content-length: 5431100
  content-type: multipart/form-data; boundary=----WebKitFormBoundarytN9UfBZY5RJtGVt0
  cookie: PHPSESSID=9a7d2c08b9506a02c18f864fb09262a4
  origin: https://www.redactedwebsite.com
  referer: https://www.redactedwebsite.com/cms/page/27/edit
  sec-fetch-dest: empty
  sec-fetch-mode: cors
  sec-fetch-site: same-origin
  user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
  x-requested-with: XMLHttpRequest
  </code></pre>
  <p>The return headers &amp; body, that are shown in curl, are the following:</p>
  <pre><code>HTTP/2 200
  date: Thu, 03 Sep 2020 19:21:37 GMT
  server: Apache
  x-powered-by: PHP/7.2.33
  x-generation-time: 0,02101s
  set-cookie: PHPSESSID=9a7d2c08b9506a02c18f864fb09262a4; path=/
  vary: Accept-Encoding
  content-encoding: gzip
  content-length: 272
  content-type: application/json
  x-varnish: 565546302
  age: 0
  via: 1.1 varnish (Varnish/6.4)
  accept-ranges: bytes
  
  {&quot;success&quot;:true, &lt;and much more, redacted&gt;}
  </code></pre>
  <p>I don't see anything wrong with the return or request headers and I'm clueless why the XHR call gets blocked by Chrome and gives: &quot;(failed)net::ERR_HTTP2_SERVER_REFUSED_STREAM&quot;.</p>
  <p>Any ideas? Or suggestions where I could debug or validate my request/return headers?
  Thanks so much!</p>
  <p>Cheers.,
  B.</p>