Назад | Перейти на главную страницу

Nginx - обслуживает статический контент из домена без файлов cookie

Я использую "скорость страницы"расширение для Firebug чтобы попытаться оптимизировать веб-сайт, и в настоящее время я работаю над следующим предложением: "Показывать статический контент из домена без файлов cookie".

Я создал отдельный субдомен для некоторого контента, так что у меня www.example.com и images.example.com но как мне указать это images.example.com без файлов cookie? Могу я обеспечить, чтобы это было без файлов cookie на веб-сервере, таком как Nginx или Apache, или это просто вопрос того, чтобы не устанавливать какие-либо файлы cookie в этом домене в серверном коде (например, PHP)?

Причина, по которой я спрашиваю, заключается в том, что «Скорость страницы» по-прежнему показывает ту же рекомендацию даже после того, как я попытался ее исправить - поэтому я предполагаю, что некоторые файлы 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 из моего поддомена?

Вот полезная статья, в которой также рассказывается, как использовать файлы cookie без файлов cookie. суб-домен: http://www.ravelrumba.com/blog/static-cookieless-domain/.

Чтобы настроить поддомен без файлов cookie, вы должны убедиться, что ваш сервер или приложение устанавливает файлы cookie только для www.example.com, а не для example.com верхнего уровня. (Файлы cookie, установленные в домене верхнего уровня, применяются также ко всем поддоменам.) То, как вы это делаете, конечно, зависит от вашей конкретной настройки. Но два распространенных установщика файлов cookie - это Google Analytics и WordPress. Для Google Analytics вам необходимо установить "_setDomainName"ценность для вашего www домен. Как это:

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

Упомянутые вами файлы cookie устанавливаются Google Analytics, обычно они устанавливаются для всего домена и охватывают все поддомены.

Nginx не может заставить браузер не отправлять файлы cookie, в спецификации HTTP нет части, которая позволяет веб-серверу говорить, что он не заинтересован в файлах cookie, поэтому браузер всегда будет отправлять их. Многие из крупнейших сайтов, на которых это предложение действительно имеет значение, используют полностью отдельный домен для статических файлов - например, yimg.com для yahoo.