为什么要检测网站是否开启HTTP/2
HTTP/2是HTTP/1.1的升级版本,相比旧版本有多路复用、头部压缩、服务端推送等核心特性,能显著提升网站的加载速度和用户体验。很多站长在配置完Nginx或Apache的HTTP/2模块后,都需要验证配置是否生效,避免因为配置错误导致协议没有正常启用。本文整理的5种检测方法覆盖了普通用户、运维人员、开发人员等不同使用场景,你可以根据自己的需求选择最适合的方法。
方法一:用浏览器开发者工具检测(最直观,适合普通用户)
操作步骤
1. 用Chrome、Firefox、Edge等主流浏览器打开你需要检测的网站
2. 按键盘上的F12键,或者右键点击页面空白处选择「检查」,打开浏览器开发者工具
3. 切换到开发者工具顶部的Network(网络)标签页
4. 按F5键或者点击浏览器地址栏的刷新按钮,重新加载当前页面
5. 在Network标签页的请求列表中,点击任意一个请求(一般选择第一个HTML文档请求即可)
结果判断
在开发者工具右侧的「Headers」(标头)标签页中,找到「General」(常规)栏目,查看Request URL下方的协议版本:如果显示HTTP/2.0或者h2,说明网站已经成功开启了HTTP/2协议;如果显示HTTP/1.1,则说明网站还未启用HTTP/2。
注意:如果你的网站使用了CDN加速服务,需要确认CDN节点也支持HTTP/2协议,否则可能检测到的是CDN的协议版本,而不是源站的版本。
方法二:用curl命令行检测(最准确,适合运维人员)
基本命令
在Linux或Mac系统的终端中,或者Windows系统的PowerShell中,执行以下命令即可检测:
curl -I --http2 https://www.youres.cn
如果需要查看更详细的请求和响应信息,可以加上-v参数:
curl -I --http2 -v https://www.youres.cn
结果解读
如果命令返回的响应头中包含HTTP/2 200或者< HTTP/2.0 200 OK,说明目标网站支持HTTP/2协议;如果返回的是HTTP/1.1 200 OK,则说明网站未开启HTTP/2。
如果执行命令时报错curl: (1) Unsupported protocol,说明你当前使用的curl版本不支持HTTP/2协议,需要升级curl到7.47.0及以上版本。
方法三:用在线检测工具(最省心,适合非技术人员)
推荐工具
1. SSL Labs SSL Test:这是最常用的SSL检测工具,不仅可以检测SSL证书的安全等级,还会在结果中显示网站是否支持HTTP/2协议,检测地址:https://www.ssllabs.com/ssltest/
2. HTTP/2 Test:这是专门用来检测HTTP/2支持情况的工具,检测结果清晰直观,检测地址:https://http2.pro/
3. KeyCDN HTTP/2 Test:支持批量检测多个URL的HTTP/2支持情况,适合需要同时检测多个网站的场景,检测地址:https://tools.keycdn.com/http2-test
使用注意事项
在线检测工具检测的是公网访问的协议版本,如果你的网站只在内部网络中开启了HTTP/2,公网是无法检测到的。另外部分工具可能会缓存之前的检测结果,建议检测前清除浏览器缓存,或者使用隐私模式访问工具页面。
方法四:查看服务器配置文件(最直接,适合服务器管理员)
Nginx配置检查
打开Nginx的站点配置文件(一般存放在/etc/nginx/sites-available/目录下),查看监听443端口的配置块是否包含http2参数:
server {
listen 443 ssl http2;
server_name www.youres.cn;
# 其他SSL和站点配置
}
如果配置中包含http2参数,且你的Nginx版本≥1.9.5,说明HTTP/2已经配置完成,重启Nginx服务后即可生效。
Apache配置检查
打开Apache的SSL配置文件(一般存放在/etc/apache2/sites-available/目录下),查看是否加载了http2模块,且配置中包含Protocols h2 http/1.1:
LoadModule http2_module modules/mod_http2.so
Protocols h2 http/1.1
如果配置正确,重启Apache服务后即可生效。
方法五:用浏览器插件检测(最便捷,适合高频检测场景)
推荐插件
1. HTTP/2 and SPDY indicator:支持Chrome和Firefox浏览器,安装后如果当前网站支持HTTP/2,地址栏会显示蓝色的闪电图标,支持SPDY协议的会显示绿色闪电图标
2. HTTP/2 Indicator:Chrome浏览器专用插件,安装后会在地址栏直接显示当前页面的HTTP协议版本,一目了然,不需要打开开发者工具
使用方法
在浏览器的应用商店中搜索对应的插件名称,点击安装完成后重启浏览器即可使用,无需额外配置,打开任意网站后会自动检测并显示结果。
开启HTTP/2后常见问题排查
1. 配置完Nginx/Apache后检测不到HTTP/2:首先检查是否正确重启了Web服务,然后检查是否开启了SSL/TLS(HTTP/2协议必须基于HTTPS使用),最后检查Nginx/Apache的版本是否满足要求
2. 开启了HTTP/2但网站速度变慢:可以参考我们之前发布的文章Nginx开启HTTP/2后访问慢?问题排查与性能优化完整指南进行排查
3. 部分浏览器不支持HTTP/2:目前所有主流现代浏览器都支持HTTP/2协议,只有非常老旧的浏览器(比如IE10及以下版本)不支持,可以在Web服务器中配置回退到HTTP/1.1协议
相关文章推荐
版权声明
本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论