NodeJS - 判断目标网站是否使用HTTP/2

3
我正在使用NodeJS并尝试进行简单的服务器请求。我想要确定服务器是否为HTTP/2。如果是,我将使用'http2'模块进行请求。否则,我将退回到使用'http'/'https'模块来进行请求。
在NodeJS中,如何确定目标远程服务器是否使用HTTP/2?
谢谢!
1个回答

0

一般的想法是,如果你想要使用http2(如果可用),那么你可以使用node.js中的http2模块发送请求。作为连接的一部分和SSL/TLS协商的一部分,双方将交换是否可以使用http2的信息(通过称为ALPN的扩展)。如果双方都同意使用http2,则会使用它。如果不同意,则会回退到常规的https。

一些相关的参考资料:

如何检查网站是否支持http/2协议

使用node.js http2库进行ALPN协商

如果你好奇,这个网站:https://tools.keycdn.com/http2-test 可以告诉你是否有任何网站支持HTTP/2和ALPN扩展。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接