如何强制浏览器使用不带 TLS 的 HTTP/2 协议?
Posted
技术标签:
【中文标题】如何强制浏览器使用不带 TLS 的 HTTP/2 协议?【英文标题】:How to force browsers to use HTTP/2 protocol w/o TLS? 【发布时间】:2021-09-28 16:17:12 【问题描述】:我有一个基于 nodejs 的网络应用程序,它使用 http2
库 nodejs
。我启动我的应用程序
HTTP/2 server is listening on port 3000. PID: 238718.
想查看应用主页:http://localhost:3000/
Chrome 浏览器出现错误:ERR_INVALID_HTTP_RESPONSE
我知道 Chrome 使用 HTTP/2 over TLS (HTTPS)。
是否有可能在浏览器中使用 HTTP/2 w/o HTTPS?
【问题讨论】:
这能回答你的问题吗? Why do web browsers not support h2c (HTTP/2 without TLS)? 【参考方案1】:HTTP/2 是否需要加密? 否。经过广泛讨论,工作组没有就要求对新协议使用加密(例如 TLS)达成共识。
但是,一些实现声明它们仅在通过加密连接使用 HTTP/2 时才支持它,目前没有浏览器支持未加密的 HTTP/2。
来源:https://http2.github.io/faq/#does-http2-require-encryption
请注意,您可以只使用自签名证书进行本地开发
【讨论】:
以上是关于如何强制浏览器使用不带 TLS 的 HTTP/2 协议?的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 WinInet 和 MSXML 使用 TLS1.0
如何强制 JavaMailSenderImpl 使用 TLS1.2?
如何强制“OpenConnect”客户端使用 TLS 1.0