Как кэширование лаков влияет на сторонние файлы cookie, установленные Omniture и сторонними файлами cookie, установленные Google Analytics?
До сих пор я видел противоположные мнения, некоторые люди говорят, что, поскольку статистика отслеживания создается JavaScript (это правда), то удаление этих файлов cookie из запроса не повлияет на GA или Omniture.
Однако здесь они говорят, что эти программные средства устанавливают различные файлы cookie для отслеживания постоянных посетителей, и поэтому удаление этих файлов cookie из запроса будет по существу подсчитывать каждого пользователя в качестве нового посетителя.
Я не хочу, чтобы мои пользователи каждый раз считали себя новым посетителем. Я не уверен, что эти встроенные в JavaScript вложения могут рассчитывать, если страница будет обслуживаться в первый раз или постоянным посетителем. Любые ссылки на официальную документацию GA или Omniture глубоко оценены.
Google Analytics устанавливает файлы cookie через javascript в вашем домене. Смотрите, как Google Analytics использует файлы cookie :
В Google Analytics используются только сторонние файлы cookie. Это означает, что все куки, установленные Google Analytics для вашего домена, отправляют данные только на серверы вашего домена.
Для использования лака это означает, что вы можете кэшировать ответы на страницы, потому что личные файлы cookie не устанавливаются в заголовках Set-Cookie, но генерируются с помощью javascript, равного для всех. Однако файлы cookie будут отправляться с запросами в ваш домен, а текущий default-vcl говорит:
sub vcl_recv { .. if (req.http.Authorization || req.http.Cookie) { /* Not cacheable by default */ return (pass); } }
Он говорит, что не будет искать кеш, если будут отправлены файлы cookie. Поэтому в вашем vcl_recv вы должны либо «отключить req.http.Cookie», либо выполнить поиск независимо от req.http.Cookie.
Здесь есть хороший пример: https://www.varnish-cache.org/trac/wiki/VCLExampleRemovingSomeCookies
В основном вы хотите удалить все файлы cookie GA до того, как Varnish отправит запрос на сервер с:
sub vcl_recv { if (req.http.Cookie) { set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm.=[^;]+;? *", "\1"); # removes all cookies named __utm? (utma, utmb...) - tracking thing if (req.http.Cookie == "") { remove req.http.Cookie; } } }
Если никаких других файлов cookie не осталось, Varnish будет автоматически кэшировать и доставлять страницы вашим посетителям.
Google Analaytics устанавливает и читает файлы cookie с JavaScript на стороне клиента, поэтому пока вы не устанавливаете конфликтующие файлы cookie, кэширование лаков не влияет на него.
Сами файлы cookie могут повлиять на кэширование вашего лака, хотя, насколько я помню, Varnish не кэширует все, что имеет куки и зависит от них (то есть имеет заголовок Vary: Cookie). Вы можете настроить свои правила VCL, чтобы убедиться, что куки Google Analytics не мешают кешированию.