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

StackOverflow https://stackoverflow.com/questions/956458

  •  12-09-2019
  •  | 
  •  

Вопрос

Я читал в документации Google их новый PageSpeed плагин, который они рекомендуют использовать Домены Cookieless Чтобы повысить производительность:

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

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

Это было полезно?

Решение

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

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

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

То, что вы делаете, имея второй домен для обслуживания статического контента (HTML, CSS, Images и т. Д.) Предпринимает бесплатные запросы cookie, потому что ни один первоначальный cookie не будет установлен в первую очередь для этого домена.

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

Таким образом, в основном нет способа явно настроить домены без печенья в IIS.

Другие советы

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

Это все, что Google говорит. Там нечего настроить, просто чтобы организовать.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top