PLAY PODCASTS
Кэширование в HTTP | Курс "Компьютерные сети"
Episode 59

Кэширование в HTTP | Курс "Компьютерные сети"

Axonic — НАУКА и ТЕХНОЛОГИИ · Axonic

February 18, 20249m 47s

Audio is streamed directly from the publisher (api.mave.digital) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

Современные Web-браузеры поддерживают кэширование редко меняющихся ресурсов, что позволяет сократить время загрузки web-страниц. Поддержка кэширования встроена в протокол HTTP.<br /><br />Для определения, можно ли использовать копию ресурса из кэша, используется заголовок Expires, например:<br />Expires: Sun, 12 Jun 2016 10:35:18 GMT<br /><br />Также можно использовать эвристику на основе заголовка Last-Modified.<br /><br />Запрос GET с условием (Conditional GET) – запрос Web-серверу передать ресурс, если он изменился с указанного времени.<br /><br />Ответы на запрос GET с условием:<br />- Ресурс не изменился: короткое сообщение со статусом 304 Not Modified.<br />- Ресурс изменился: полная передача измененной версии ресурса, статус ответа 200 ОК.<br /><br />Определение изменения ресурса в запросе Get с условием:<br />- По дате последнего изменения ресурса: заголовок If-Modified-Since (HTTP версия 1.0).<br />- По тэгу (хэшу) ресурса: заголовок If-None-Match (HTTP версия 1.1)<br /><br />В HTTP версии 1.1 появился новый заголовок для управления кэшем Cache-Control. Возможные значения:<br />- no-store<br />- no-cache<br />- public<br />- private<br />- max-age=X (время в секундах)<br /><br />Кроме кэша браузера, ресурсы могут быть сохранены на прокси-серверах и обратных прокси-серверах.