Google Analytics использует некоторые параметры запроса для идентификации кампаний и управления файлами cookie. Все это обрабатывается кодом javascript. Взгляните на следующий пример:
http://www.example.com/?utm_source=newsletter&utm_medium=email&utm_ter m=October%2B2008&utm_campaign=promotion
Это установит файлы cookie через JavaScript с правильным источником кампании. Параметры этого запроса могут иметь несколько, а иногда и случайные значения. Поскольку они используются в качестве хэш-ключей кеша, производительность кеша в некоторых сценариях сильно снижается.
Я полагаю, что на серверах кеширования нет такой сложной конфигурации, чтобы просто игнорировать все параметры запроса или определенные параметры запроса. Я прав?
Кто-нибудь знает, насколько сложно создавать популярные решения для веб-кеширования?
Меня не интересует конкретное решение для веб-кеша. Было бы здорово услышать о том, который вы используете.
Возиться с кешем - неправильный способ.
«Правильный» способ обработки URL-адресов с такого рода отслеживанием - это отправить 301 редирект на ваш канонический URL-адрес (конечно, после выполнения любого необходимого отслеживания).
Не уверен, что полностью слежу за вами, но:
Я полагаю, что с помощью squid вы создадите ACL для регулярного выражения url, а затем используете директиву cache, чтобы запретить кеширование этих запросов.
В лаке в функции vcl_recv
set req.url = regsub(req.url, "\?.*", "");
Однако вам действительно нужно будет оценить, хотите ли вы это сделать. Если он обслуживается Varnish, а не вашим сервером, меняете ли вы какие-либо процессы сбора статистики?