我正在尝试连接到默认为HTTP/2的服务器,并使用APACH HTTP-COMPONTENTS 3.4连接到HTTP/2不兼容的服务器。我在这里看到客户端可以通过Upgrade
标头从服务器请求HTTP/2。有没有办法从服务器请求http/1.1?
是的,应该是默认值。如果服务器以前进行了协商,则只能http/2 http/2。
要么:
- 通过从HTTP/1升级到HTTP
Upgrade
标头 - 通过TLS握手期间的协议谈判(ALPN)
从理论上讲,可以在两侧强制HTTP/2而无需谈判。这称为http/2具有先验知识。但是,该模式不应在公共服务器上使用,因为它完全会导致您遇到的问题。
如果HTTP/2仅打算使用HTTP/2,我会尝试与服务器的开发人员/维护者交谈。