If-Unmodified-Since

HTTP-заголовок запроса If-Unmodified-Since делает запрос условным: сервер отправит обратно запрошенный ресурс или примет его в случае POST или другого небезопасного метода, только если он не был последним изменён после указанной даты. Если запрос был изменён после указанной даты, то ответ будет 412 (Precondition Failed) ошибка.

Существует два распространённых варианта использования:

  • В сочетании с другими небезопасными методами, такими как POST, он может использоваться для реализации optimistic concurrency control, например, сделанного некоторыми вики-версиями: выпуски отклоняются, если сохранённый документ был изменён с момента восстановления оригинала.
  • В сочетании с запросом диапазона с If-Range (en-US) его можно использовать для обеспечения того, чтобы новый фрагмент запрашивался из немодифицированного документа.

Синтаксис

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

Директивы

<day-name>
One of "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", or "Sun" (case-sensitive).
<day>
2 digit day number, e.g. "04" or "23".
<month>
One of "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (case sensitive).
<year>
4 digit year number, e.g. "1990" or "2016".
<hour>
2 digit hour number, e.g. "09" or "23".
<minute>
2 digit minute number, e.g. "04" or "59".
<second>
2 digit second number, e.g. "04" or "59".
GMT

Greenwich Mean Time. HTTP dates are always expressed in GMT, never in local time.

Примеры

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

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

Спецификация Заголовок
RFC 7232, секция 3.4: If-Unmodified-Since Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests

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

BCD tables only load in the browser

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