Amazon.co.jpのソースを見ていたら、見慣れないタグを見つけた
dns-prefetch タグ
<meta http-equiv="x-dns-prefetch-control" content="on"> <link rel="dns-prefetch" href="http://g-ecx.images-amazon.com"> <link rel="dns-prefetch" href="http://z-ecx.images-amazon.com"> <link rel="dns-prefetch" href="http://ecx.images-amazon.com"> <link rel="dns-prefetch" href="http://completion.amazon.com"> <link rel="dns-prefetch" href="http://client-log.amazon.com">
dns-prefetchの名前の通り、DNSを事前解決する。WEBページの読込はDNSによる名前解決がボトルネックになるので、これはいい規格だと思った。詳しく調べてみた。
Firefox3.5で対応
Firefox 3.5 では DNS prefetching が導入されました。これにより、 Firefox は文書中に埋め込まれたアンカーに加え、画像、CSS、JavaScript などの文書内で参照されている外部リソースの URL に対し、予めドメインの名前解決を行います。
このプリフェッチはバックグラウンドで行われるため、実際にリソースが必要となった際には既に名前解決が終了していることになります。これにより、例えばユーザーがリンクをクリックした際の待ち時間を減らすことができます。
DNS プリフェッチの制御 | MDN
使い方
<link rel="dns-prefetch" href="http://www.example.com">
逆にプリフェッチさせない
<meta http-equiv="x-dns-prefetch-control" content="off">
濫用がない前提ですよね。
DNSプリフェッチのタグを10000個くらい書くとどうなるかな。o(´∀`)oワクワクしますね
さて、DNSサーバーに攻撃をしようか。とならないように、Google信者は、prefetch 有効にして、DNSはGoogle PublicDNSにでも向けていればいいじゃないでしょうか。一般人は通常通りDNSサーバーを使ってキャッシュ効かせたほうが・・・。人気サイトに埋め込み、サイト改ざんで埋め込めたら、第三者攻撃とかできそうですね。
もうブラウザが内部的にやってる・・・よね?
だけどブラウザのDNSキャッシュでやってそう・・・どうなんでしょう
2chのまとめサイトはPreFetch入れて欲しい。
まとめサイトは画像貼り込みすぎてカオスだから、プリフェッチするドメインを指定したほうが速くなる気がする。