プリフェッチ

プリフェッチ (DNS プリフェッチとも呼ばれる) は、ユーザーが実際にリンクをクリックしたりサイトをリクエストしたりする前に、Web サイトのドメイン名を対応する IP アドレスに解決する Web パフォーマンス最適化手法です。このプロアクティブな解決は、ユーザーのアクションを予測して行われ、DNS (ドメイン ネーム システム) 解決に関連する待ち時間を削減することを目的としています。

DNS 解決とは、人間が判読できるドメイン名 (例: 「example.com」) を、機械が判読できる IP アドレス (例: 「192.0.2.1」) に変換するプロセスです。この変換は、ブラウザが Web サイトをホストしているサーバーに接続するために必要です。ただし、DNS 解決では遅延が発生する可能性があります。これは、ブラウザが Web サイトへの接続を開始する前に DNS サーバー にクエリを実行して IP アドレスを取得する必要があるためです。この遅延により、特に DNS サーバーの応答が遅い場合や複数の DNS ルックアップが必要な場合、サイトのページ読み込み時間が数秒長くなることがあります。

DNS 情報をプリフェッチすることで、ユーザーが現在のページを表示している間に、ブラウザは事前に DNS 解決を実行できます。つまり、ユーザーがリンクをクリックしたり、新しいリクエストを開始したりするときに、ブラウザはすでに IP アドレスを取得しているため、リアルタイムの DNS ルックアップが不要になり、新しいページの読み込みにかかる全体的な時間が短縮されます。

プリフェッチは、Web サイトの開発者が HTML タグまたは HTTP ヘッダーを使用して実装できます。これらのヘッダーは、ブラウザに特定のドメイン名を事前に解決するように指示します。ブラウザは、ユーザーがクリックする可能性のあるリンクを予測するヒューリスティックに基づいて、ビューポートに表示されているリンクの DNS 情報を自動的にプリフェッチすることもできます。

プリフェッチは レイテンシ を削減することでパフォーマンスを向上できますが、ネットワーク リソースの消費量が増えたり、ユーザーが最終的にアクセスしない可能性のあるドメインを解決することでプライバシーが侵害される可能性があるなど、潜在的な欠点もあります。したがって、Web サイトとそのユーザーの特定のニーズとコンテキストを考慮して、慎重に使用する必要があります。