HTTP заголовок Expires поряд з кількома іншими заголовками, такими як Cache-Control дозволяє управляти кешем, тим самим повідомляючи, як довго найпопулярніший контент буде актуальний. Після того як «час життя» закінчується, кеш перестає бути актуальним, і виникає необхідність запитувати початковий ресурс, щоб дізнатися чи були зміни в контенті. Заголовок Expires є стандартним заголовком, регламентованим у протоколі HTTP, і підтримується практично будь кешом. Що стосується заголовка Cache-Control, то він був введений в HTTP/1.1, дозволивши тим самим надати можливість веб-майстрам здійснювати більший контроль над контентом, а так само вирішити обмеження пов’язані з Expires. Щоб використовувати Cache-control ефективно, рекомендується вказувати час, по закінченні якого кеш перестає бути актуальним.

В даному пості ми розглянемо приклади налаштування параметра expires в Nginx. Для початку спробуємо у налаштуваннях виставити максимальний термін зберігання кешу.
Ставимо кеш на максимальний термін

server {

location ~* ^.+\.(jpg|gif|png)$ {
expires max;
}

}

Часто використовується значення часу кешування може бути зазначено в днях, припустимо у налаштуваннях нам необхідно виставити 7 днів, це буде виглядати наступним чином.
Ставимо кеш на тиждень

server {

location ~* ^.+\.(jpg|gif|png)$ {
expires 7d;
}

}

Таким чином, браузер після першого запиту файлів буде запитувати їх повторно через 7 днів. Весь цей час вони будуть знаходитися в кеші браузера користувача. Є можливість так само відраховувати час життя кешу від моменту останньої зміни файлу.
Ставимо кеш від моменту останньої зміни файлу

server {

location ~* ^.+\.(jpg|gif|png)$ {
expires modified 3d;
}

}

Використовуючи такий метод, в результаті ми отримуємо час кешу, яке буде залежати від часу останньої модифікації файлу. З моменту останньої модифікації, браузер буде запитувати файл через 3 дні. Для деяких завдань такий спосіб кешування може виявитися більш зручним.
Можна так само відключити кешування файлів браузером, для цього виставляємо значення параметра в off.
Відключаємо кешування файлів в браузері

server {

location ~* ^.+\.(jpg|gif|png)$ {
expires off;
}

}

Задане таким чином значення повністю відключає дію Сасһе-control. Використовуючи кешування, клієнтська частина уникає необхідності завантажувати контент цілком, т. к. він вже має локальні копії файлів. Виставляти час кешування потрібно осмислено, без зайвого фанатизму, дуже довгий кеш може бути не завжди раціональний, якщо дані у вас змінюються досить динамічно.

Додав: htmaker, 20.08.2017 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Конвертація htaccess в Nginx
Рубрика: Nginx

Не працює вебвізор, що робити?
Рубрика: Nginx, Інструменти, Деталі. безпека

Блокування ботів в Nginx
Рубрика: Nginx, Інф. безпека

Ставимо nginx останньої версії Linux
Рубрика: Linux, Nginx