Y!Slowに「Use cookie-free domains」と言われたY!
Webサイト高速化を測定することができる便利なFirefoxプラグイン「Y!Slow」ですが、その中に「Use cookie-free domains」という項目があります。
よく分かんない、という人もいらっしゃると思うので、Yahoo!の英語サイトから解説を拝借して拙い英語能力で意訳してみました。 最後にはサイト開設時のアドバイスなんかもサラッと書いてあったりなんかして、参考になるのではないかと思います。
解説の中で「コンポーネント」という単語がよく使われていますが、この場合は「出力されるhtmlページ以外の静的コンテンツ」という意味で解釈いただくと良いんではないかと思います。 htmlにリンクされているCSSファイルや画像ファイル、JavaScriptファイルなんかがそうですね。
ではどうぞ。
コンポーネントにCookieを使わないドメインを使いましょう
ブラウザーが静的イメージをリクエストする際に、いっしょにCookie情報を送っても、サーバー側ではそのCookieを利用することがありません。 つまり、無意味なネットワーク負荷を作り出しているのです。
サイトでは静的コンポーネントはCookieを使わない形でリクエストしないといけません。 サブドメインを作成して、そこに静的コンポーネントを配置しましょう。
まじっすか…
そ、そう言われましてもですね…
もしドメインが「www.example.org」の場合は、静的コンポーネントを例えば「static.example.org」なんかにホストさせることができるでしょう。
でも、もし既に「example.org」みたいなトップレベルドメインを「www.example.org」に紐付けてあったとすると、「static.example.org」へのリクエストにも全部Cookieが付加されます。
この場合は、全く新しいドメインを購入して静的コンポーネントをそこに配置し、そのドメインをCookieなしの設定にしましょう。
な、なにィ!?
Yahoo!は「yimg.com」を使っているし、Youtubeは「ytimg.com」、そしてAmazonは「images-amazon.com」等を利用しています。
Cookieなしのドメインで静的コンポーネントをホスティングすることのもう一つの利点は、プロキシーサーバーの中にはCookie付きでリクエストされたコンポーネントをキャッシュしないものがあるのです。
ついでに言うと、もしあなたがホームページに「example.org」か「www.example.org」のどっちをつけるべきか迷っているとしたら、Cookieの影響を考えておかないといけませんよ。
「www」を省略すると、選択肢が無くなってしまいますが、「*.example.org」のようにサブドメインにしておくと、(サブドメインごとに)cookieの設定ができるのです。
パフォーマンスの点からいって、「www」付きサブドメインのほうを選んで、そのサブドメインにcookieの設定を行いましょう。
終わり
まとめ
うーん…この辺りは、正直疎く作られているサイトは多いんじゃないでしょうか。 でも、これでWebサイトの高速化が図れて、これからサイト高速化をSEOで重視する検索エンジンにも良い影響を及ぼせるのであれば、やらない手はないですな。
2010-03-09