Недавно мы писали про кэширование контента web-страниц, а сегодня поговорим о кэшировании статических файлов: JS, CSS, изображений, шрифтов и т.д.
При переходе по страницам сайта или повторном посещении большинство файлов, отвечающих за оформление страниц, уже должны быть у пользователя в кэше. Это положительно скажется на скорости загрузки и значительно снизит нагрузку на сервер.
Для того чтобы браузер закэшировал файл на необходимое время, используются заголовки Cache-control, Expires и Vary, которые сервер может прислать вместе с файлом.
Чтобы сбросить кэш браузера для этих файлов, нужно изменить URL-адрес либо с помощью GET-параметра (например,
/js/script.js?v=2), либо изменив путь до самого файла, как это делает asset-менеджер Yii 2.Настроить кэширование статики несложно. Вот, например, конфигурация для nginx:
https://bitbucket.org/snippets/OlegChulakovStudio/qeLrEg