If-Modified-Since

Заголовок HTTP запроса If-Modified-Since делает запрос условным: сервер отправит обратно запрошенный ресурс с статусом 200, только если он был изменён после указанной даты. Если запрос не был изменён после указанной даты, ответ будет 304 без какого-либо тела; заголовок Last-Modified при этом будет содержать дату последней модификации. В отличие от If-Unmodified-Since, If-Modified-Since может использоваться только с GET или HEAD.

При использовании в сочетании с If-None-Match заголовок If-Modified-Since игнорируется, кроме тех случаев, когда сервер не поддерживает If-None-Match.

Наиболее распространённым вариантом использования является обновление кешированного объекта, не связанного с ETag.

Header type Request header
Forbidden header name no

Синтаксис

If-Modified-Since: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

Директивы

<day-name>

День недели ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat" или "Sun") с учётом регистра.

<day>

День (2 цифры), например, "04" или "23".

<month>

Название месяца ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") с учётом регистра.

<year>

Год (4 цифры), например, "1990" или "2016".

<hour>

Час (2 цифры), например, "09" или "23".

<minute>

Минута (2 цифры), например, "04" или "59".

<second>

Секунда (2 цифры), например, "04" or "59".

GMT

Среднее время по Гринвичу (Greenwich Mean Time). HTTP даты всегда представлены как GMT время и никогда как локальное.

Примеры

If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT

Спецификации

Спецификация Название
RFC 7232, раздел 3.3: If-Modified-Since Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также