HTTP-сервер использует согласование содержимого для обслуживания одиночного URL-адреса или в кодировке gzip на основе клиентского заголовка Accept-Encoding
.
Теперь скажите, что у нас есть прокси-кеш, такой как squid, между клиентами и httpd.
Если прокси-сервер кэшировал обе кодировки URL-адреса, как он определяет, какой из них обслуживать?
Экземпляр без gzip (изначально не обслуживаемый Vary
) может быть передан любому клиенту, но закодированные экземпляры (имеющие Vary: Accept-Encoding
) могут отправляться только клиентам с идентичным значением заголовка Accept-Encoding
был использован в исходном запросе.
например. Opera отправляет "deflate, gzip, x-gzip, identity, *;q=0"
, а IE8 отправляет "gzip, deflate"
. В соответствии со спецификацией, кеши не должны совместно использовать контент-закодированные кеши между двумя браузерами. Это правда?