是否可以从浏览器内部检测到浏览器对HTTP2 / SPDY客户端的支持?
我试图向用户展示他们的浏览器是否支持HTTP2 / SPDY或将使用传统的非HTTP2 / SPDY HTTPs协议.
解决方法:
不,不是.至少以有意义或可行的方式.
服务器已为所有资产提供服务后,前端javascript将运行.您想做的所有事情都将在服务器端完成.兼容SPDY的浏览器应自动与SPDY服务器协商.
您所需要做的就是对其进行配置(nginx和apache).您还可以将https响应与Alternate-Protocol标头一起发送.那将使浏览器在将来可能的情况下响应SPDY请求(我在更新的SPDY规范中找不到它,因此可能是过时的信息.请耐心等待).
如果您想知道某个站点是否已通过SPDY服务,则在chrome中有chrome.loadTimes().wasFetchedViaSpdy(显然仅在chrome中有效).对于firefox和safari,您必须检查标头(据我所知没有类似的api,尽管存在plugins为您执行此操作). SPDYCheck是另一个很好的资源,可以测试服务器是否已正确设置.