У нас есть прямой прокси-сервер для нашей сети - это Squid 2.7. За нас этим занимается третья сторона.
Недавно мы заметили, что HTTP-запросы, идущие из нашей сети в Интернет, имеют Accept-Encoding
заголовок удален. Это приводило к тому, что весь веб-трафик в нашей сети (около 8000+ ПК) был несжатым, даже если браузеры и серверы на каждом конце были способны.
Мы попросили третью сторону изучить это, и они сказали, что это потому, что Squid 2.7 не поддерживает сжатие.
Я понимаю, что это правда, но у меня сложилось впечатление, что сжатие произошло на веб-сервере, а не на прокси. Так...
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 должен быть включен, чтобы кешировать несколько кодировок страницы.