プリフェッチ (DNS プリフェッチとも呼ばれる) は、ユーザーが実際にリンクをクリックしたりサイトをリクエストしたりする前に、Web サイトのドメイン名を対応する IP アドレスに解決する Web パフォーマンス最適化手法です。このプロアクティブな解決は、ユーザーのアクションを予測して行われ、DNS (ドメイン ネーム システム) 解決に関連する待ち時間を削減することを目的としています。
DNS解決とは、「example.com」などの人間が読めるドメイン名を、「192.0.2.1」などの機械が読めるIPアドレスに変換するプロセスです。この変換は、ブラウザがウェブサイトをホストしているサーバーに接続するために必要です。ただし、 DNS 解決にはブラウザがクエリを実行する必要があるため、遅延が発生する可能性があります。
DNSサーバ Web サイトへの接続を開始する前に IP アドレスを取得する必要があります。この遅延により、特に DNS サーバーの応答が遅い場合や複数の DNS ルックアップが必要な場合は、サイトのページ読み込み時間が数秒長くなる可能性があります。
DNS 情報をプリフェッチすることで、ユーザーが現在のページを表示している間に、ブラウザは事前に DNS 解決を実行できます。つまり、ユーザーがリンクをクリックしたり、新しいリクエストを開始したりするときに、ブラウザはすでに IP アドレスを利用できるため、リアルタイムの DNS ルックアップが不要になり、新しいページの読み込みにかかる全体的な時間が短縮されます。
プリフェッチは、Web サイトの開発者が HTML タグまたは HTTP ヘッダーを使用して実装できます。これらのヘッダーは、ブラウザに特定のドメイン名を事前に解決するように指示します。ブラウザは、ユーザーがクリックする可能性のあるリンクを予測するヒューリスティックに基づいて、ビューポートに表示されているリンクの DNS 情報を自動的にプリフェッチすることもできます。
プリフェッチは、 レイテンシーただし、ネットワーク リソースを追加で消費したり、ユーザーが最終的にアクセスしない可能性のあるドメインを解決することでプライバシーに影響を及ぼす可能性があるなど、潜在的な欠点もあります。したがって、Web サイトとそのユーザーの特定のニーズとコンテキストを考慮して、慎重に使用する必要があります。