
Самые популярные прокси-серверыкэшировать данные ответа на основе Uri? Также давайте исключим заголовки HTTP, такие как Cache-Control и т. д., и предположим, что они установлены как публичные, max-age: xxxx s-maxage: yyyyy и т. д.
Итак... предположим, что прокси-сервер говорит: «Этот ресурс необходимо кэшировать»... что такое «ключ»? Uri?
так что если у меня есть
- www.somedomain.com
- www.somedomain.com/foo
- www.somedomain.com/foo?
- www.somedomain.com/foo?a=1
- www.somedomain.com/foo?a=1&b=2
это все отдельные кэшированные элементы?
решение1
Насколько я понимаю, чаще всего это хэш данных, связанных с URL, таких как имя/адрес хоста, путь и иногда другие параметры, такие как аргументы cgi. Согласно этому FAQSquid использует хэш прямого URL-адреса и метод поиска HTTP для идентификации элементов, уже находящихся в кэше.
Я думаю, что перечисленные вами URL-адреса действительно в большинстве случаев приведут к созданию отдельных элементов кэша.
решение2
Я знаком сКальмар. Он определенно кэширует все ваши примеры URI как отдельные объекты. Но, пожалуйста, обратите внимание, что вполне возможно настроить Squid так, чтобы он не кэшировал URI, соответствующие определенному шаблону, например, содержащие?.
решение3
URL-адрес, безусловно, является ключевым параметром, когда речь идет о кэшировании. Фактически, говоря как веб-разработчик, один из способов предотвратить кэширование веб-ресурсов — это добавить случайную строку запроса в конец URL-адреса.