DNS プリフェッチとは
DNS はドメイン名と IP のマッピングを実装します。ドメイン名を通じてサイトにアクセスする場合、リクエストごとに DNS 解決が必要です。現在、各 DNS 解決にかかる時間は通常 200 ミリ秒未満です。 DNS 解決に時間がかかるという問題に対応して、一部のブラウザでは DNS プリフェッチを使用してアクセスのスムーズさを向上させています。
DNS プリフェッチは、Web ページを閲覧するときに、ブラウザが Web ページを読み込むときに Web ページ内のドメイン名を解析してキャッシュするため、クリック時に DNS 解決を実行する必要がありません。現在の Web ページでの接続により、ユーザーの待ち時間が短縮され、ユーザー エクスペリエンスが向上します。
現在 DNS プリフェッチをサポートしているブラウザには、Google Chrome と Firefox 3.5 が含まれます。
ブラウザで特定のドメイン名を解決したい場合は、ページにリンク タグを追加できます。例:
ブラウザ側でドメイン名を事前解決するかどうかを制御する場合、HTTP を使用できます。ヘッダーの x-dns-prefetch-control 属性が制御されます。
残念ながら、現在上記のタグをサポートしているのは Google Chrome と Firefox 3.5 だけです
一般的に、この遅延の原因は相手の Web サイトの帯域幅や負荷ではありません。では、具体的に何が原因でしょうか? ? Zhan Lan 氏は、おそらく DNS 解決速度がリソース遅延の最大の原因であるため、DNS の問題であると仮定して推測を試みました。そこで、Zhanlan は次のコードをページ ヘッダーに追加しました (DNS 事前解決用):
< link rel="dns-prefetch" href="http://img.jb51.net" />
効果は非常に高く (テストブラウザは IE8)、他のページを開いたときの Baidu 共有ボタンの読み込みが大幅に改善されました。
DNS プリフェッチについて簡単に見てみましょう:
DNS はインターネットの基本プロトコルですが、その解決速度はウェブサイトの最適化プログラムによって簡単に無視されるようです。現在、ほとんどの新しいブラウザは DNS 解決に最適化されており、通常の DNS 解決には 20 ~ 120 ミリ秒かかります。DNS 解決の時間と頻度を減らすことは、優れた最適化方法です。 DNS プリフェッチとは、ユーザーがリンクをクリックすることなく、この属性を持つドメイン名がバックグラウンドで解析されることを意味し、ドメイン名の解決とコンテンツの読み込みはシリアル ネットワーク操作であるため、この方法によりユーザーの待ち時間が短縮され、ユーザー エクスペリエンスが向上します。
Web サイトのブラウザーの最初のドメイン名 DNS 解決検索プロセスは次のとおりです:
ブラウザ キャッシュ - システム キャッシュ - ルーター キャッシュ - ISP DNS キャッシュ - 再帰的検索
ドメイン名の DNS 解決と検索プロセス
Chrome には DNS プリフェッチ技術が組み込まれており、Firefox 3.5 にもこの機能が導入されています。Chrome と Firefox 3.5 自体が DNS プリフェッチの設定を最適化しているため、DNS プリフェッチの設定による悪影響の 1 つは、Google のパフォーマンスが低下する可能性があることです。 . Chrome ブラウザと Firefox 3.5 ブラウザのユーザー エクスペリエンス。
事前解析の実装:
1. メタ情報を使用して、現在のページを DNS で事前解決する必要があることをブラウザーに通知します:
2. ページ ヘッダーのリンク タグを使用して、DNS 事前解決を強制します:
注: dns-prefetch は注意して使用する必要があります。複数のページで DNS 事前解決を繰り返すと、繰り返される DNS クエリの数が増加します。
追記: DNS 事前解決は主に Web サイトのフロントエンド ページの最適化に使用されますが、SEO におけるその役割はまだ検証されていません。ただし、ユーザー エクスペリエンスを向上させる一環として、rel="dns-prefetch" を使用する価値は十分にあります。発見中。