パフォーマンスを向上させるには、Cookieのないドメインまたはサブドメインから静的コンテンツ(css、javascriptなど)を提供するのが最善であると読みました。ドメインはデフォルトでCookieがないとは思わない。Cookieを使用しないことを指定するにはどうすればよいですか?
パフォーマンスを向上させるには、Cookieのないドメインまたはサブドメインから静的コンテンツ(css、javascriptなど)を提供するのが最善であると読みました。ドメインはデフォルトでCookieがないとは思わない。Cookieを使用しないことを指定するにはどうすればよいですか?
回答:
YSlowやPage SpeedのようなものがCookieのないドメインを設定するように指示するとき、実際に意味するのは、設定しないドメイン、または過去に(グローバルに)設定していないドメインからメディアを提供することです。時にはmedia.domain.com
、またはなどのサブドメインを使用してこれを実現できますが、ドメイン全体に適用されるstatic.domain.com
Cookie(Cookieの場合)を設定すると、このCookieはクライアントによってサーバーに返送されますに関連付けられたすべてのドメインに対するすべてのリクエスト。これには、すべてのサブドメインが含まれます。domain.com
*.domain.com
domain.com
www.
ドメインでの使用を控えると決めた場合、グローバルCookieが問題になります。Cookieを設定する特定のサブドメインがない場合、すべてのCookieを設定して動作*.domain.com
させる必要があります。
このグローバルCookieの問題は、ytimg.com
YouTube などの場所から静的メディアが配信される理由です。ytimg.com
Cookieを設定できる動的コンテンツを提供することはありません。つまり、これらのドメインがHTTPリクエストの一部である場合、クライアントからサーバーにCookieは送信されません。
Cookieが設定されないことが確実な場合*.domain.com
は、必要に応じてサブドメインを使用できます。Javascriptを介して別のサイトまたはサービスと統合すると、ほとんどの場合、グローバルドメインCookieが設定されることに注意してください。
Apache(および他のすべてのWebサーバー)では、リクエストに応答する前にヘッダーを設定または設定解除できます。これにより、クライアントがサーバーにCookieを送信する問題は修正されませんが、ドメインがCookieを送信したり、最初に設定したりすることはありません。Cookieのないドメインから静的ではないコンテンツを提供する場合にのみ問題になり、その目的が損なわれます。
Header unset Cookie
Header unset Set-Cookie
これにより、既存のCookieと新しいCookieを作成するためのヘッダーが設定解除されます。繰り返しますが、Cookieを設定する可能性のある静的ドメインのコンテンツを提供する場合にのみ問題が発生します。これをサイトまたは仮想ホストの構成に配置します(OS、サーバー、およびバージョンに応じて、任意の場所に配置できます)。
Cookieを使用しないことを指定するにはどうすればよいですか?
それはあなたがCookieなしのドメインを持って何をする必要があるかについてではありません-それはあなたがする必要があるかについての詳細だではない ...んあなたは必ずそのドメイン上で実行しているアプリケーションが行う必要があり、クッキーレスドメイン持つために設定されていないすべてのクッキーを。これは通常、ログインがないこと、Googleアナリティクスがないこと、セッションがないことを意味します。つまり、メディアを提供するだけで他には何もありません。明らかにこれは設定に依存します。
私が最近犯した間違いの1つは、ドメインとサブドメインを区別しなかったことです。http://media.example.com
Cookieのないドメインだと考えてからすべてのメディアを提供し始めましたが、実際はサブhttp://www.example.com
ドメインであり、ドメインレベルで設定されているためにCookieのないサブドメインを汚染するメインサイトから多くのCookieを見つけました。ここにその問題を解決した方法のリンクがあります:https : //serverfault.com/questions/160210/nginx-serve-static-content-from-a-cookieless-domain
www.example.net
ないだろうに送信されstatic.example.net
ますが、クッキーからexample.net
となります。解決策はにリダイレクトexample.net
することwww.example.net
です。
Cookieを使用しないことを指定するにはどうすればよいですか?
Cookieを使用しないことを指定する必要はありません。Cookieを使用しないだけです。