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
## Указывает, что файлы не изменились и их можно взять с кэша
Иначе требуемые файлы будут заново отправлены.
Все современные веб-браузеры и веб-серверы поддерживают HTTP Etag. Для включения функции в Nginx нужно отредактировать его файл конфигурации:
server {
…
location ~* ^.+.(rss|atom|jpg|jpeg|gif|png|ico|rtf|js|css)$ {
expires 2592000;
**etag on;**
}
…
}
## Etag включается для статических файлов
HTTP Etag позволяет увеличить отзывчивость веб-приложения и уменьшить нагрузку на канал. Функция поддерживается всеми современными веб-браузерами и не требует дополнительной настройки после включения.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…