«Ресурсы с«? »В URL-адресе не кэшируются некоторыми серверами кэширования прокси-серверов"

Я использую строки запроса для извлечения из кеша , например: mysite.css?201708311009, где дата даты последнего изменения файла.

Выполнение теста скорости на PingDom дает мне этот результат:

  

Ресурсы с "?" в URL-адресе не кэшируются некоторыми серверами кэширования прокси. Удалите строку запроса и закодируйте параметры в URL-адрес для следующих ресурсов:

Я не уверен, что с этим делать.

С одной стороны, это может превзойти целую цель кеширования, , если , это правда. Однако:

  • Они не подтверждают свои претензии фактами или источниками.
  • По-видимому, Google PageSpeed ​​Insight использовали тот же совет, но они остановились .
  • Основные CDN (например: maxcdn ) рекомендуют использовать запрос строки для управления версиями активов и те, кто дает слово предостережения (например: keycdn ) не подтверждают претензию.
  • WordPress полагается на строки запросов для перебора кеша и поддерживает 25% веб-сайтов. (Это не обязательно означает, что это лучшая практика, но это что-то.)

Мой вопрос в два раза:

  1. Каковы некоторые известные случаи строк запроса, вызывающие проблемы кеширования с серверами кэширования прокси? (Если никто не может быть найден, то все это всего лишь слухи.)
  2. Если это проблема, есть ли альтернатива, помимо изменения имени файла *? например: допустимы URL-фрагменты (mysite.css#201708311009)?

* Я бы предпочел не менять имена файлов для этого, если я могу себе это позволить, потому что это больше связано с нагрузкой.

3 голоса | спросил Fabien Snauwaert 31 AM000000110000003031 2017, 11:21:30

1 ответ


2

От http://bizcoder.com/caching-resources-with-query- строки :

  

Стив демонстрирует, что при использовании номера версии в строке запроса кеш-прокси Squid не кэширует статический файл вообще. Далее он говорит, что Squid может быть настроен для кэширования этих файлов, но это не поведение по умолчанию. Основываясь на этой информации, он справедливо предположил, что люди не используют версии в своей строке запроса, если они хотят кэшировать статические ресурсы.

     

Это было в августе 2008 года. Ранее в этом году, в мае 2008 года, Squid выпустила версию 2.7, которая изменила поведение по умолчанию, чтобы больше не отказываться от кэширования URL-адресов, содержащих строку запроса.

Итак, (не исчерпывающий) ответ: действительно старые версии того, что я считаю самым популярным прокси-программным обеспечением.

Лично я использую то же решение, о котором упоминал Стивен Остермиллер в комментариях, - используйте правила перезаписи, чтобы включить хэш в имя файла, хотя это не всегда возможно. Я бы не слишком беспокоился, если вы используете строки запроса.

ответил Tim Fountain 31 PM00000050000005431 2017, 17:29:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132