通过javascript或php检测浏览器是否支持/启用http2

通过javascript或php检测浏览器是否支持/启用http2,javascript,php,http2,spdy,Javascript,Php,Http2,Spdy,我检查了类似的问题,发现有两个选项我可以继续,但都有问题 if ( performance && performance.timing.nextHopProtocol ) { console.log('Protocol:' + performance.timing.nextHopProtocol); } else if ( window.chrome && window.chrome.loadTimes ) { console.log('Protocol:

我检查了类似的问题,发现有两个选项我可以继续,但都有问题

if ( performance && performance.timing.nextHopProtocol ) {
    console.log('Protocol:' + performance.timing.nextHopProtocol);
} else if ( window.chrome && window.chrome.loadTimes ) {
console.log('Protocol:' + window.chrome.loadTimes().connectionInfo);
} else {
    console.log("Browser does not expose connection protocol");
}
但是,上面的代码确实返回了协议,在使用my chrome时,它支持http2,并且具有功能,但仍然返回http1


另一个解决方案是编译一个受支持浏览器的列表,并交叉检查http_useragent,但是应该不时地签入该列表,并交叉检查操作系统版本。例如,IE11在Windows10上可以工作,但对于较低版本来说就不行了

所以。。假设您检测到浏览器具有HTTP/2功能,然后呢?你如何处理这些信息?出于好奇,我问你,可能你发现了一些有用的东西,所以如果你是,我想看看它可能是什么:)我基本上是在尝试复制这个页面。然而,我相信他们的http2检测是他们的专有服务。我在一家网络托管公司工作,所以我们正在为http2升级设置比较页面。除此之外,其他所有操作都已完成。他们检查服务器端,而不是前端。@Kaido yea服务器端+他们有自己的“Akamai边缘端包括”服务。所以我在找其他我能用的东西。php也很好。协议取决于服务器,因此
性能。getEntriesByType('resource')
没有帮助。