web-dev-qa-db-ja.com

WebサイトがHTTPまたはHTTP / 2のどちらで提供されているかを知るにはどうすればよいですか?

私のWebサイトがHTTPまたはHTTP/2のどちらで提供されているかを通知するコマンドまたはサービスはありますか?.

私はこのツールを見つけました: HTTP/2テスト|単純なHTTP/2.0テストツール ですが、私のWebサイトがHTTP/2をサポートしているかどうかだけがわかりますが、すでにHTTP/2を使用しているかどうかはわかりません。

これらもこれですChrome Extension: HTTP/2 and SPDY indicator 、これは、私のサイトでHTTP/2がすでに有効になっていることを示していますが、私の知る限り私のバージョンのApacheはそれをサポートしていません。

確実に知る方法はありますか?ありがとう!

14
Vadim

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
....
25
Rob

コマンドラインとcURLに準備ができていない場合、またはCDNの複数のレイヤーをナビゲートしている場合(たとえば、HTTP/2がCloudFlareのようなプロバイダーによって提供されている場合)は、もっと簡単な別の方法があります。

  1. 開くChrome開発ツール(Ctrl-Shift-I)
  2. [ネットワーク]タブを開きます
  3. ページが既に読み込まれている場合は、更新する必要がある場合があります(Ctrl-R)
  4. リクエストリストのヘッダー行(ラベルの付いた行:名前、メソッド、ステータスなど)を右クリックします。
  5. コンテキストメニューから[プロトコル]を選択します。
  6. 再度更新する必要がある場合があり(Ctrl-R)、使用されているすべてのプロトコルが表示されます。

Chrome Dev Tools Screenshot.

h2が表示されたら、おめでとうございます。 WebサイトはHTTP/2を介して提供されています。

4
haz

--http2または--http2-prior-knowledgeを試すこともできます。これらは、webisteがHTTP/2.0を使用するように強制します。

カールマニュアルから:

--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
prosti

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"
1
Michael Ma