Кеширование с HTTP Etag

Игорь Грегорченко

Etag (или entity tag) – один из механизмов кэширования в HTTP. По сути это идентификатор, который присваивается файлу сервером для последующей проверки.

Когда клиент запрашивает файлы веб-страницы (картинки, CSS и т.д), сервер передает все данные вместе с тэгами Etag в виде:

HTTP/1.1 200 OK

Server: MyServer/2.1

Date: Thu, 09 Jun 2016 13:30:54 GMT

Content-Type: text/html

Accept-Ranges: bytes

Last-Modified: Tue, 07 Jun 2016 12:00:00 GMT

**ETag: “6d82cbb050ddc7fa9cbb659014546e59″**

Content-Length: 363

## Пример ответа сервера с Etag

Файлы сохраняются в кэше на стороне клиента, и когда браузер запрашивает эти файлы снова, то к запросу добавляется строка If-None-Match:

GET /news/latest.html HTTP/1.1

**If-None-Match: “6d82cbb050ddc7fa9cbb659014546e59″**

Host: example.com
## Пример запроса с Etag

Сервер, в свою очередь, проверяет Etag, если он совпадает, то в ответ сервер отправляет код 304:

**HTTP/1.1 304 Not Modified**

Server: MyServer/2.1

Date: Tue, 07 Jun 2016 09:00:00 GMT

ETag: “6d82cbb050ddc7fa9cbb659014546e59”

Content-Length: 0
## Указывает, что файлы не изменились и их можно взять с кэша

Иначе требуемые файлы будут заново отправлены.

Включение Etag

Все современные веб-браузеры и веб-серверы поддерживают HTTP Etag. Для включения функции в Nginx нужно отредактировать его файл конфигурации:

server {

location ~* ^.+.(rss|atom|jpg|jpeg|gif|png|ico|rtf|js|css)$ {

expires 2592000;

**etag on;**

}

}
## Etag включается для статических файлов

Самое главное

HTTP Etag позволяет увеличить отзывчивость веб-приложения и уменьшить нагрузку на канал. Функция поддерживается всеми современными веб-браузерами и не требует дополнительной настройки после включения.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023