web-dev-qa-db-ja.com

Nginx-Cookieのないドメインから静的コンテンツを提供する

ページ速度 拡張機能 Firebug を使用してWebサイトを最適化しようとしていますが、現在次の提案に取り組んでいます: " 静的Cookieのないドメインのコンテンツ "。

一部のコンテンツに別のサブドメインを作成して、www.example.comおよびimages.example.comしかし、どのように指定するのですかimages.example.com Cookieはありませんか? NginxやApacheなどのウェブサーバーでCookieがないことを強制できますか、それともサーバーサイドコード(PHPなど)でこのドメインにCookieを設定しないようにするだけの問題ですか?

私が尋ねる理由は、「ページスピード」が修正を試みた後でも同じ推奨が表示されているためです。そのため、一部のCookieが抜けているのではないかと思います。ブラウザのCookie検索でCookieが表示されませんが、リソースのHTTPヘッダーを調べると、次のように表示されます。

Cookie  __utma=73051794.676740941.1271792323.1277710025.1277900715.20; __utmz=73051794.1271792323.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmx=73051794.00009825591030858779:3:0; __utmxx=73051794.00009825591030858779:2295429:2592000; __gads=ID=0a768e3407302ff8:T=1272608001:S=ALNI_MZ-GKhg3ETniU0TVftk0DdGyUypkQ

私のサブドメインからのCookieを停止する方法を知っている人はいますか?

11
Tom

言及したCookieはGoogleアナリティクスによって設定されます。通常、すべてのサブドメインをカバーするためにドメイン全体で設定されます。

NginxはブラウザーにCookieを送信させないようにすることはできません。WebサーバーがCookieに興味がないと言うことができるHTTP仕様の一部がないため、ブラウザーは常にそれらを送信します。この提案が実際に重要である最大のサイトの多くは、静的ファイルには完全に別のドメインを使用しています(yahooのyimg.comなど)。

11

Cookieのないsub-domainの使用方法についても説明した便利な記事を次に示します。 http://www.ravelrumba.com/blog/static-cookieless-domain /

Cookieを使用しないサブドメインを設定するには、サーバーまたはアプリケーションがwww.example.comにのみCookieを設定し、最上位のexample.comには設定しないようにする必要があります。 (トップレベルドメインで設定されたCookieは、すべてのサブドメインにも適用されます。)もちろん、これをどのように行うかは、特定の設定によって異なります。しかし、2つの一般的なCookieセッターは、Google AnalyticsとWordPressです。 Google Analyticsの場合、「_setDomainName」の値をwwwドメインに設定する必要があります。このような:

_gaq.Push(
    ['_setAccount', 'UA-xxxxxxx-1'],
    ['_setDomainName', 'www.example.com'],
    ['_trackPageview']
);
14
Tom