Как настроить IIS с доменом без cookies для повышения производительности?

Я читал в документации google их новый файле PageSpeed плагин, который они рекомендуют использовать cookieless Домены для повышения производительности:

статический контент, такой как изображения, JS и CSS-файлы, не должен сопровождаться cookies, так как нет взаимодействия пользователя с этими ресурсами. Вы можете уменьшить задержку запроса, обслуживая статические ресурсы из домена, который не обслуживает файлы cookie.

кто-нибудь знаете, как это сделать в IIS?

5 ответов


в статье Google предлагается, чтобы вы обслуживали весь статический контент из другого домена, где куки-файлы изначально не устанавливаются обслуживающим доменом.

Cookies устанавливаются двумя способами-сеансовыми cookies (например, ASP или ASP.NET запросы) или явно вашим приложением.

Они будут отправлены обратно на сервер при каждом последующем запросе домена, который устанавливает cookie (независимо от того, является ли запрос статическим или динамическим контентом), таким образом увеличение полезной нагрузки запроса.

то, что вы делаете, имея второй домен для обслуживания статического контента (HTML, CSS, изображений и т. д.), делает бесплатные запросы cookie, потому что для этого домена не будет установлен исходный файл cookie.

в IIS это ваше приложение, фильтр ISAPI или расширение ISAPI, которое добавит cookie. Если сервер IIS не перехватывает запросы на статическое содержимое (поскольку обычно это выполняется в режиме ядра http.sys driver), то нет cookies будут добавлены в ответ. Это только дальше по конвейеру запросов, что куки вступают в игру.

таким образом, в основном нет способа явно настроить домены без файлов cookie в IIS.


Если вы просто поместите все свои статические ресурсы, например, static.mysite.com, и если вы никогда не устанавливали куки в этом домене, браузер никогда не будет отправлять куки при получении ресурса из вашего статического домена.

Это все, что говорит Google. Здесь нечего настраивать, только организовывать.


AFAIK google analytics устанавливает cookie для всех поддоменов, поэтому было бы бесполезно, если вы используете аналитику?

Я также испытал это, вам придется использовать другой домен, чтобы избежать установки файлов cookie analytics/adsense. Использование static.yourdomain.com не будет резать.

вот в надежде, что Google изменит свои аналитические куки, так что нам не придется покупать новые домены, чтобы обслуживать контент без куки.


AFAIK google analytics устанавливает cookie для всех поддоменов, поэтому было бы бесполезно, если вы используете аналитику?


вот пример использования кода асинхронного отслеживания Google Analytics, как установить домен для отслеживания: _gaq.push(['_setAccount', 'UA-XXXXXXX-x'],['_setDomainName', 'www.example.com'],['_trackPageview']);

вот пример использования предыдущей версии кода отслеживания:

var pageTracker = _gat._getTracker("UA-XXXXXXX-x");
pageTracker._setDomainName("www.example.com");
pageTracker._trackPageview();

и вот что Google говорит об этом: Google Analytics & Cookies