Как куки влияют на кэширование Varnish? - PullRequest
3 голосов
/ 29 марта 2011

Как кэширование Varnish влияет на сторонние файлы cookie, установленные Omniture, и собственные файлы cookie, установленные Google Analytics?

Пока что я встречал противоположные мнения, некоторые люди говорят, что поскольку статистика отслеживания создается с помощью JavaScript (что верно), то удаление этих файлов cookie из запроса не повлияет на GA или Omniture.

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

Я не хочу, чтобы мои пользователи учитывались каждый раз как новый посетитель. Я не уверен, что эти встраивания JavaScript позволяют рассчитывать, обслуживается ли страница в первый раз или повторяется посетителю. Любые ссылки на официальную документацию GA или Omniture приветствуются.

Ответы [ 3 ]

4 голосов
/ 12 февраля 2012

Вот хороший пример: 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 автоматически кеширует и доставляет страницы вашим посетителям.

1 голос
/ 30 марта 2011

Google Analytics устанавливает куки с помощью javascript на вашем домене.См. Как Google Analytics использует файлы cookie :

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

В случае использования лака это означает, что вы можете кэшировать ответы на страницах, так как личные файлы cookie не устанавливаются черезЗаголовки Set-Cookie, но сгенерированные javascript равны для всех.Однако куки будут отправлены с запросами на ваш домен, и текущий default-vcl говорит:

sub vcl_recv {

  ..

  if (req.http.Authorization || req.http.Cookie) {
    /* Not cacheable by default */
    return (pass);
  }
}

Он говорит, что не будет выполнять поиск в кэше, если куки будут отправлены.Поэтому в вашем vcl_recv вы должны либо «сбросить req.http.Cookie», либо выполнить поиск независимо от req.http.Cookie.

1 голос
/ 29 марта 2011

Google Analaytics устанавливает и считывает файлы cookie с помощью JavaScript на стороне клиента, поэтому, если вы не устанавливаете конфликтующие файлы cookie, кэширование лака не влияет на него.

Сами файлы cookie могут влиять на ваш Varnish.кеширование, хотя - насколько я помню, Varnish не кэширует ничего, что имеет куки и зависит от них (то есть имеет заголовок Vary: Cookie).Возможно, вы захотите настроить правила VCL, чтобы куки-файлы Google Analytics не препятствовали кешированию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...