我如何知道我的网站是通过HTTP还是HTTP / 2提供?

时间:2016-04-29 14:17:13

标签: http http2

是否有命令或服务告诉我我的网站是通过HTTP还是HTTP / 2提供。

我找到了这个工具:too much crappy code,但它只告诉我我的网站是否支持HTTP / 2,而不是它是否已经使用HTTP / 2.

这也是Chrome扩展程序:HTTP/2 Test | A simple HTTP/2.0 test tool,它告诉我HTTP / 2已在我的网站上启用,但据我所知,我的Apache版本甚至不支持它。

有没有办法确定?谢谢!

4 个答案:

答案 0 :(得分:13)

Apache不必支持它。 Chrome扩展程序会读取HTTP标头以确定该标头。

另一种方法是简单地查看网络选项卡>标题>响应标头>在Chrome或Firefox中查看来源。在那里可以看到标题。它应该是" HTTP / 2"或者某种我现在不记得的。

最简单:您可以使用curl -I <your site>将HTTP响应作为第一行。

HTTP/2.0 200
server:nginx
date:Fri, 29 Apr 2016 14:31:40 GMT
content-type:text/html; charset=utf-8
content-length:7629
last-modified:Thu, 07 Apr 2016 02:41:08 GMT
....

答案 1 :(得分:1)

您也可以尝试--http2--http2-prior-knowledge。这些将强制Webiste使用HTTP / 2.0:

从curl手册中:

--http2-prior-knowledge
              (HTTP) Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1 Upgrade.  It  requires
              prior  knowledge  that  the server supports HTTP/2 straight away. HTTPS requests will still do HTTP/2 the
              standard way with negotiated protocol version in the TLS handshake.

              --http2-prior-knowledge requires that the underlying libcurl was built to  support  HTTP/2.  This  option
              overrides --http1.1 and -0, --http1.0 and --http2. Added in 7.49.0.

--http2
              (HTTP) Tells curl to use HTTP version 2.

              See also --no-alpn. --http2 requires that the underlying libcurl was built to support HTTP/2. This option
              overrides --http1.1 and -0, --http1.0 and --http2-prior-knowledge. Added in 7.33.0.

答案 2 :(得分:1)

如果您没有现成的命令行和cURL访问权限,或者正在浏览CDN的多个层(例如,如果您的HTTP / 2由CloudFlare之类的提供商提供,则这是另一种可能更简单的方法) )。

  1. 打开Chrome开发工具(Ctrl-Shift-I)
  2. 打开“网络”标签
  3. 如果您的页面已经加载,则可能需要刷新(Ctrl-R)
  4. 右键单击请求列表的标题行(标有名称,方法,状态等的行)
  5. 从上下文菜单中选择“协议”。
  6. 您可能需要再次刷新(Ctrl-R),您将看到所有正在使用的协议。

Chrome Dev Tools Screenshot.

如果您看到h2,那么恭喜!您的网站通过HTTP / 2提供服务。

答案 3 :(得分:0)

对于使用Nginx的用户,您可以查看通常位于/var/log/nginx/access.log的访问日志,并查找

等行
167.220.232.9 - - [12/Feb/2018:15:09:04 +0800] "GET / HTTP/2.0" 200 2546 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"