Я читал, что лучше обслуживать статический контент (css, javascript и т. Д.) Из домена или субдомена без файлов cookie для повышения производительности. Я предполагаю, что домен не является cookie-файлом по умолчанию. Как мне указать, что я не хочу использовать куки?
24
Ответы:
Когда такие вещи, как YSlow и Page Speed, говорят вам о настройке доменов без файлов cookie, они на самом деле означают подачу мультимедиа из домена, в котором вы не будете устанавливать какие-либо или не устанавливали (глобально) в прошлом. Иногда это может быть достигнуто с помощью поддоменов, таких как
media.domain.com
, илиstatic.domain.com
, однако, если вы установите cookiedomain.com
для этого домена, который применяется к домену в целом - cookie для*.domain.com
- тогда этот cookie будет отправлен клиентом обратно на сервер в каждый запрос для каждого домена, связанного сdomain.com
. Это включает в себя все субдомены.Глобальный файл cookie становится проблемой, если вы решите отказаться от использования
www.
ваших доменов. Без определенного субдомена, для которого нужно установить куки, все куки должны быть установлены,*.domain.com
чтобы они работали.Эта глобальная проблема с файлами cookie - это причина, по которой вы будете видеть статические медиафайлы из таких мест, как
ytimg.com
на YouTube.ytimg.com
никогда не будет предоставлять динамический контент, который может устанавливать куки, что означает, что куки никогда не будут отправлены от клиента обратно на сервер, когда эти домены являются частью HTTP-запросов.Если вы уверены, что для вас никогда не будет настроен файл cookie,
*.domain.com
вы можете использовать поддомен для своих нужд. Имейте в виду, что в большинстве случаев, если вы интегрируетесь с другим сайтом или службой через Javascript, они будут устанавливать глобальные доменные куки.В Apache (и я уверен, что на любом другом веб-сервере) вы можете устанавливать или отменять заголовки, прежде чем на запросы будут получены ответы. Это не решит проблему отправки клиентом куки на ваш сервер, но не позволит вашим доменам когда-либо отправлять или устанавливать куки-файлы. Проблема только в том случае, если вы обслуживаете контент, который не является статичным, из ваших доменов без файлов cookie, что противоречит их назначению.
Это приведет к сбросу заголовков для существующих файлов cookie и для создания новых файлов cookie. Опять же, проблема возникает только в том случае, если вы предоставляете контент со статических доменов, который потенциально может установить cookie. Поместите это в конфигурацию вашего сайта или виртуального хоста (которая в зависимости от вашей ОС, сервера и версии может быть любым количеством мест).
источник
Это не о том, что вам нужно сделать , чтобы иметь Cookieless домен - это больше о том, что вам нужно , чтобы не делать ... Для того, чтобы иметь Cookieless домен , вы должны убедиться , что приложение работает на этом домене не устанавливает куки . Обычно это означает, что у вас нет логинов, нет Google Analytics, нет сессий - то есть просто подача медиа и ничего больше. Очевидно, это зависит от вашей настройки.
Недавно я допустил одну ошибку: я не делал различий между доменом и поддоменом. Я начал служить все мои средства массовой информации от
http://media.example.com
думая , что это был Cookieless домен , но на самом деле это суб -области , и я обнаружил , что многие из моих печений от основного места ,http://www.example.com
где быть установлен на уровне домена и , следовательно , загрязняющего мой suppossedly Cookieless суб-домен. Вот ссылка на то, как я решил эту проблему: /server/160210/nginx-serve-static-content-from-a-cookieless-domainисточник
www.example.net
не будет отправленоstatic.example.net
, но печенье отexample.net
. Решение состоит в том, чтобы перенаправитьexample.net
наwww.example.net
.Вам не нужно указывать, что вы не хотите использовать куки, вы просто не используете их.
источник