私のWebサイトがHTTPまたはHTTP/2のどちらで提供されているかを通知するコマンドまたはサービスはありますか?.
私はこのツールを見つけました: HTTP/2テスト|単純なHTTP/2.0テストツール ですが、私のWebサイトがHTTP/2をサポートしているかどうかだけがわかりますが、すでにHTTP/2を使用しているかどうかはわかりません。
これらもこれですChrome Extension: HTTP/2 and SPDY indicator 、これは、私のサイトでHTTP/2がすでに有効になっていることを示していますが、私の知る限り私のバージョンのApacheはそれをサポートしていません。
確実に知る方法はありますか?ありがとう!
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
....
コマンドラインとcURLに準備ができていない場合、またはCDNの複数のレイヤーをナビゲートしている場合(たとえば、HTTP/2がCloudFlareのようなプロバイダーによって提供されている場合)は、もっと簡単な別の方法があります。
h2
が表示されたら、おめでとうございます。 WebサイトはHTTP/2を介して提供されています。
--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.
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"