HTTP/2
Silktide は実際のブラウザーでページを読み込み、各ファイルの配信に使用されたウェブプロトコルのバージョンをチェックします。古い HTTP/1.1 プロトコルで配信されたファイルを報告します。新しいバージョンのほうがページを高速に読み込めるためです。
重要な理由
HTTP は、ブラウザーがページ上のすべてのファイルを取得するために使用するプロトコルです。古いバージョンである HTTP/1.1 では、通常、1つの接続につきリクエストをほぼ1つずつ処理します。 HTTP/2 では、ブラウザーは1つの接続を使って一度に多数のファイルをリクエストでき、その他の効率化も行われます。そのため、コンテンツを変更しなくても同じページをより高速に読み込めます。ページには通常、数十個のファイルが含まれるため、この差は積み重なります。すべての訪問者が、必要以上に各ページの読み込みを長く待つことになるのです。
HTTP/2 は2015年から標準となっており、現在のすべての主要ブラウザーでサポートされています。そのため、ファイルを古い方式で配信し続ける正当な理由はほとんどありません。
修正方法
- ウェブサーバーで HTTP/2(または後継の HTTP/3)を有効にします。現在主流のサーバーはすべて対応しており、通常は設定を1行変更するだけで済みます。また、 が必要になりますが、いずれにしても HTTPS は使用すべきです。
- またはマネージドホスティングを利用している場合は、プラットフォームの設定を確認します。ほとんどの場合、デフォルトで有効になっています。
- サードパーティーが配信していると報告されたファイルについては、そのサーバーを変更できません。それらのファイルが本当に必要かどうかを検討してください。
HTTP/2 は完全な後方互換性を備えているため、ウェブサイトのコンテンツを変更する必要はありません。
Silktide によるチェック方法
- 実際のブラウザーでページを読み込み、各ファイルの配信に使用されたプロトコルを記録します。
- HTTP/2 以降を使用できたにもかかわらず、HTTP/1.1 で配信されたファイルを特定します。
- 該当する各ファイルと、現在使用されているプロトコルを報告します。
トラブルシューティング
サーバーは HTTP/2 に対応しているのに、ファイルが報告され続ける
対応しているだけでなく、ファイルを配信した実際のサーバーで有効になっている必要があります。よくある原因には、HTTP/2 に対応していないサブドメインまたはサードパーティーのサーバーからファイルが配信されている、サーバーの前段にあるプロキシまたはロードバランサーによって接続がダウングレードされている、 ではなく通常の HTTP でファイルが配信されている(ブラウザーは安全な接続でのみ HTTP/2 を使用します)といったものがあります。