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

Может ли Squid 2.7 прокси gzip-контент

У нас есть прямой прокси-сервер для нашей сети - это Squid 2.7. За нас этим занимается третья сторона.

Недавно мы заметили, что HTTP-запросы, идущие из нашей сети в Интернет, имеют Accept-Encoding заголовок удален. Это приводило к тому, что весь веб-трафик в нашей сети (около 8000+ ПК) был несжатым, даже если браузеры и серверы на каждом конце были способны.

Мы попросили третью сторону изучить это, и они сказали, что это потому, что Squid 2.7 не поддерживает сжатие.

Я понимаю, что это правда, но у меня сложилось впечатление, что сжатие произошло на веб-сервере, а не на прокси. Так...

  1. Может ли Squid 2.7 использовать прокси и / или кэшировать содержимое, сжатое с помощью gzip?
  2. Если это возможно, то как / почему это можно настроить так, чтобы Accept-Encoding заголовок удаляется?

Squid 2.7 кэширует сжатые страницы (несколько кодировок страницы), если пользователь запрашивает сжатую страницу. Но если пользователь запрашивает несжатую страницу, то squid пересылает запросы, запрашивающие несжатую страницу. а затем кешировать это. Если запрошена сжатая страница, но несжатая страница кэшируется, несжатая страница обслуживается squid. Но если сначала кэшируется сжатая страница, а затем кешируется несжатая страница, а затем запрашивается сжатая страница, сжатая страница будет обслуживаться из кеша.

Я обнаружил, что squid будет кэшировать несколько кодировок страницы только в том случае, если и когда несжатая страница не кэшируется первой / не запрашивается первой, иначе несжатая страница будет кэширована, а поскольку accept-кодирование является условным, нет причин для squid, чтобы получить сжатую страницу, поскольку запрос будет в порядке с несжатой страницей кодировки.

#   TAG: cache_vary
#   When 'cache_vary' is set to off, response that have a
#   Vary header will not be stored in the cache.
#
#Default:
cache_vary on

cache_vary должен быть включен, чтобы кешировать несколько кодировок страницы.