title: Why did I have to disable HTTP/2 in AWS Application Load Balancer to prevent ERR_SPDY_PROTOCOL_ERROR?
body: <p>When I deployed my web application to an AWS environment with an <strong>Application Load Balancer (ALB)</strong>, some of my web service endpoints would not return any data and my Chrome browser would report this error for some http calls: <strong>ERR_SPDY_PROTOCOL_ERROR</strong></p>
  
  <p>Upon finding <a href="https://stackoverflow.com/a/52054537/1245897">this recommendation</a>, I disabled <strong>HTTP/2</strong> support in my ALB configuration and everything works now.</p>
  
  <p>Why did I have to disable <strong>HTTP/2</strong> in my ALB?  What is the root issue here?  Do I need to change something in my web service code so that I can use <strong>HTTP/2</strong>?</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Here are the response headers:</p>
  
  <pre><code>HTTP/1.1 200
  Date: Wed, 09 Jan 2019 21:39:13 GMT
  Content-Type: application/json;charset=UTF-8
  Transfer-Encoding: chunked
  Connection: keep-alive
  Locations Reached: Data to populate locations reached map
  </code></pre>
  
  <p>As suggested by one of the answers below, the culprit is probably the fact that one of my headers (Locations Reached) has a space in the name, which is invalid/malformed.  I'll make sure that space gets replaced by a dash.</p>