Cookieのないドメインを設定するにはどうすればよいですか?


24

パフォーマンスを向上させるには、Cookieのないドメインまたはサブドメインから静的コンテンツ(css、javascriptなど)を提供するのが最善であると読みました。ドメインはデフォルトでCookieがないとは思わない。Cookieを使用しないことを指定するにはどうすればよいですか?


3
この種のことは、1時間に数千ページ、または1分に数千ページを提供している場合を除き、実際には問題ではありません。

「Cookieのサイズを抑えるために最善を尽くしていますが、Googleアナリティクスの使用により、平均的なユーザーのCookieサイズは約1キロバイトになります。」便利で関連性-chrishateswriting.com/post/68794699432/small-things-add-up
mvark

回答:


26

YSlowPage SpeedのようなものがCookieのないドメインを設定するように指示するとき、実際に意味するのは、設定しないドメイン、または過去に(グローバルに)設定していないドメインからメディアを提供することです。時にはmedia.domain.com、またはなどのサブドメインを使用してこれを実現できますが、ドメイン全体に適用されるstatic.domain.comCookie(Cookieの場合)を設定すると、このCookieはクライアントによってサーバーに返送されますに関連付けられたすべてのドメインに対するすべてのリクエスト。これには、すべてのサブドメインが含まれます。domain.com*.domain.comdomain.com

www.ドメインでの使用を控えると決めた場合、グローバルCookieが問題になります。Cookieを設定する特定のサブドメインがない場合、すべてのCookieを設定して動作*.domain.comさせる必要があります。

このグローバルCookieの問題は、ytimg.comYouTube などの場所から静的メディアが配信される理由です。ytimg.comCookieを設定できる動的コンテンツを提供することはありません。つまり、これらのドメインがHTTPリクエストの一部である場合、クライアントからサーバーにCookieは送信されません。

Cookieが設定されないことが確実な場合*.domain.comは、必要に応じてサブドメインを使用できます。Javascriptを介して別のサイトまたはサービスと統合すると、ほとんどの場合、グローバルドメインCookieが設定されることに注意してください。

Apache(および他のすべてのWebサーバー)では、リクエストに応答する前にヘッダーを設定または設定解除できます。これにより、クライアントがサーバーにCookieを送信する問題は修正されませんが、ドメインがCookieを送信したり、最初に設定したりすることはありません。Cookieのないドメインから静的ではないコンテンツを提供する場合にのみ問題になり、その目的が損なわれます。

Header unset Cookie
Header unset Set-Cookie 

これにより、既存のCookieと新しいCookieを作成するためのヘッダーが設定解除されます。繰り返しますが、Cookieを設定する可能性のある静的ドメインのコンテンツを提供する場合にのみ問題が発生します。これをサイトまたは仮想ホストの構成に配置します(OS、サーバー、およびバージョンに応じて、任意の場所に配置できます)。


「Cookieのないドメインから静的ではないコンテンツを提供する場合にのみ問題となり、その目的が損なわれます。」-なぜ、正確に?本質的にクッキーを必要とする動的に生成されたコンテンツについては何もありません。

1
静的ドメインの動的コンテンツを提供することは、本質的に何も設定しないとは言いませんでした。静的ドメインからCookieを設定する動的コンテンツを提供した場合、Cookieが問題になると述べました。静的ドメインの目的は、相互作用を必要としないコンテンツ(画像、CSS、JSなど)を提供することです。動的コンテンツ(Cookieを設定する場所)は、静的ドメインで処理しないでください。
ブライソン

6

Cookieを使用しないことを指定するにはどうすればよいですか?

それはあなたがCookieなしのドメインを持って何をする必要があるかについてではありません-それはあなたがする必要があるかについての詳細だではない ...んあなたは必ずそのドメイン上で実行しているアプリケーションが行う必要があり、クッキーレスドメイン持つために設定されていないすべてのクッキーを。これは通常、ログインがないこと、Googleアナリティクスがないこと、セッションがないことを意味します。つまり、メディアを提供するだけで他には何もありません。明らかにこれは設定に依存します。

私が最近犯した間違いの1つは、ドメインとサブドメインを区別しなかったことです。http://media.example.comCookieのないドメインだと考えてからすべてのメディアを提供し始めましたが、実際はサブhttp://www.example.comドメインであり、ドメインレベルで設定されているためにCookieのないサブドメインを汚染するメインサイトから多くのCookieを見つけました。ここにその問題を解決した方法のリンクがあります:https : //serverfault.com/questions/160210/nginx-serve-static-content-from-a-cookieless-domain


2
以下からのCookieはwww.example.net ないだろうに送信されstatic.example.netますが、クッキーからexample.netとなります。解決策はにリダイレクトexample.netすることwww.example.netです。
TRIG

3

Cookieを使用しないことを指定するにはどうすればよいですか?

Cookieを使用しないことを指定する必要はありません。Cookieを使用しないだけです。


3
常にオプションではありません。通常、他のサイトからのJavaScript機能の統合により、ドメインのグローバルCookieが必要かどうかに関係なく設定されます。
ブライソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.