Thank you for reading this post, don't forget to subscribe!
Для эффективного использования Cache-control необходимо указывать правило инвалидации кеша. Т.е. указать срок, когда закешированный браузером файл необходимо будет заново запросить на сервере. В nginx'e это делается с помощью настройки expires:
1 2 3 4 5 6 7 |
server { ... location ~* ^.+\.(jpg|gif|png)$ { <b>expires</b> max; } ... } |
# Установит время инвалидации в максимально возможное (фактически — бесконечность)
Время можно указывать в днях:
1 2 3 4 5 6 7 |
server { ... location ~* ^.+\.(jpg|gif|png)$ { expires <b>7d</b>; } ... } |
# Браузер будет запрашивать картинки повторно через 7 дней
Кроме этого, время инвалидации можно отсчитать от даты последнего изменения файла:
1 2 3 4 5 6 7 |
server { ... location ~* ^.+\.(jpg|gif|png)$ { expires <b>modified 3d</b>; } ... } |
# Браузер будет запрашивать каждую картинку через 3 дня с момента ее последнего изменения
А чтобы отключить кеширование в браузере, необходимо отправить установить значение в off:
1 2 3 4 5 6 7 |
server { ... location ~* ^.+\.(jpg|gif|png)$ { expires <em>off</em>; } ... } |
# Отключит Cache-control полностью