Назад | Перейти на главную страницу

Как игнорировать параметры запроса в веб-кеше?

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, а не вашим сервером, меняете ли вы какие-либо процессы сбора статистики?