HTTP/2协议检查
使用我们的HTTP/2协议检查工具检查网站是否使用新的HTTP/2协议,以确保最佳性能。

HTTP/2协议检查是一款免费工具,用于验证网站是否正在使用 HTTP/2 网络协议。
HTTP/2 检查究竟检测什么?
HTTP/2 检查用于判断 Web 服务器能否通过 HTTP/2 与客户端就所请求的网站进行通信。HTTP/2 是超文本传输协议的一个版本,该协议规定了浏览器和服务器请求及传输网页、图片、脚本和其他 Web 资源的方式。
对于 HTTPS 网站,客户端和服务器通常会在建立安全连接时选择通信协议。这个协商过程一般使用应用层协议协商,即 ALPN。HTTP/2 标识为 h2,较旧的连接则可能使用 http/1.1。
HTTP/2 保留了方法、状态码和 HTTP 头等常见概念,但通过二进制帧传输数据。它可以在一个连接中承载多个数据流,并压缩 HTTP 头。这样可以降低连接开销,对于包含大量独立资源的页面尤其如此。不过,它本身无法加快运行缓慢的应用代码、体积过大的图片或响应迟缓的数据库查询。

如何使用 HTTP/2协议检查?
输入需要验证 HTTP/2 支持情况的网站,然后运行检查。输入内容会通过 HTTPS 发送到服务器,由服务器执行检查,并且不会被存储。
在 DNS 中,包含重音符号或非拉丁字符的域名标签会表示为 IDNA A-label,并使用 Punycode 编码算法。
请勿提交访问令牌或其他敏感信息。虽然输入内容不会被存储,但仍需发送到工具服务器,才能完成服务器端检查。
如何看懂 HTTP/2 检查结果?
结果会告诉你,被检查的网站是否正在使用 HTTP/2。应将结果视为该网站协议使用情况的依据,而不是对网站速度或配置的完整评估。
- 肯定结果表示已确认该网站使用此协议。否定结果表示检查未能确认 HTTP/2,但仅凭这一结果无法判断具体原因。
举例来说,如果某个网站得到肯定的 HTTP/2 检查结果,就说明本次检查确认该网站使用 HTTP/2。但这并不能证明其独立服务或较旧的源站服务器也使用相同协议。
如果结果未确认 HTTP/2,请使用HTTP头查询检查该网站,并查看 Web 服务器或 CDN 设置。浏览器开发者工具也可以显示每个请求使用的协议,通常标记为 h2 或 http/1.1。

这项检查可以发现哪些常见问题?
更换托管服务、代理或 CDN 后,可以使用 HTTP/2 检查确认公共端点是否提供预期的协议。遇到以下常见情况时,检查结果有助于缩小问题范围。
- 刚刚启用了 CDN。请检查公开网站,而不是源站服务器的私有地址或临时地址。如果公开网站使用 HTTP/2,而源站未使用,这可能是正常现象,因为浏览器到 CDN 与 CDN 到源站是两个独立连接。
- 浏览器仍然显示 HTTP/1.1。请确认浏览器和检查工具测试的是同一个网站。一个页面可能从多个域名加载资源,每个连接都会单独协商协议。某个第三方脚本请求使用 HTTP/1.1,并不代表主文档也使用该协议。
- 迁移服务器后出现证书警告。HTTPS 证书处理和 HTTP 协议协商都属于连接建立过程,但 HTTP/2 检查结果不能全面诊断证书问题。请分别检查证书的主机名、有效期、证书链和服务器配置。

这项检查无法解释所有页面加载缓慢的问题。是否支持 HTTP/2,并不能明确反映服务器响应时间、JavaScript 执行、图片大小,或特定访客与服务器之间的网络拥塞情况。如果需要单独了解网络连通性和响应时间,请使用Ping工具。
为什么缓存或配置传播会让结果看起来不正确?
DNS 缓存和配置传播可能导致不同检查在一段时间内连接到不同的服务器。DNS 记录更改后,递归解析器可能会继续使用之前的结果,直到其生存时间到期。因此,服务器端检查工具与你在办公室或家中的网络连接可能会访问不同的 IP 地址。
CDN 和负载均衡器的更改也可能需要一段时间才能传播到所有边缘节点。某个端点可能已经启用 HTTP/2,而另一个端点仍在使用之前的配置。请检查当前的 DNS 解析结果,确认所有源站或边缘服务器都采用预期设置,并在相关缓存周期结束后再次进行对比。
浏览器还可能因为复用已打开的连接而造成混淆。某个标签页可能会继续使用现有的 HTTP/1.1 连接,直到连接关闭,而新的服务器端检查已经协商使用 HTTP/2。关闭浏览器连接或新建无痕浏览会话,可以得到更便于比较的结果。
常见问题
一个网站能同时支持 HTTP/1.1 和 HTTP/2 吗?
可以。服务器能够同时支持这两个版本,并根据连接客户端所支持的协议进行选择。借助这种兼容性,较旧的客户端可以继续使用 HTTP/1.1,较新的客户端则可协商使用 HTTP/2。
网站能同时使用 HTTP/3 和 HTTP/2 吗?
可以。HTTP/3 使用不同的传输协议,而且并非所有网络都支持,因此很多部署仍会保留 HTTP/2 作为备用协议。HTTP/2 检查结果无法证明网站是否也启用了 HTTP/3。
使用 HTTP/2 必须启用 HTTPS 吗?
在事先明确协议的情况下,HTTP/2 可以通过明文 TCP 使用,而此前用于 HTTP/1.1 Upgrade 的 h2c 令牌现已弃用。主流浏览器通常通过 HTTPS 使用 HTTP/2。因此,对于公开网站,有效的 TLS 配置通常也是让浏览器能够使用 HTTP/2 的必要条件之一。
HTTP/2 能解决首字节时间过长的问题吗?
不能。首字节时间过长通常与服务器处理、网络距离、缓存未命中或基础设施过载有关。HTTP/2 可以改善多个请求共享同一连接的方式,但无法消除服务器开始响应之前的延迟。
最后,请使用检查工具、浏览器开发者工具和 DNS 记录对同一网站进行对比。如果结果不同,请记录解析到的 IP 地址,并在现有 DNS 和 CDN 缓存过期后重新测试。