0

I am trying to connect to a server that defaults to HTTP/2 with Apach Http-Components 3.4, which is not HTTP/2 compatible. I see here that a client can request HTTP/2 from the server via the Upgrade header. Is there a way to request HTTP/1.1 from the server?

1 Answers1

0

Yes, it should be the default. A server should only HTTP/2 to a client if it was previously negotiated.

Either:

  • through an upgrade from HTTP/1 through the HTTP Upgrade header
  • through protocol negotiation (ALPN) during the TLS handshake

It is theoretically possible to force HTTP/2 on both sides without negotation. This is called HTTP/2 with prior-knowledge. However that mode shouldn't be used on public servers, since it exactly causes the problems that you are having.

I would try to speak to the developers/maintainers of the server if the HTTP/2 only behavior is intended.

Matthias247
  • 9,836
  • 1
  • 20
  • 29