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