If-Unmodified-Since
HTTP-заголовок запроса If-Unmodified-Since
делает запрос условным: сервер отправит обратно запрошенный ресурс или примет его в случае POST
или другого небезопасного метода, только если он не был последним изменён после указанной даты. Если запрос был изменён после указанной даты, то ответ будет 412
(Precondition Failed) ошибка.
Существует два распространённых варианта использования:
- В сочетании с другими небезопасными методами, такими как
POST
, он может использоваться для реализации optimistic concurrency control, например, сделанного некоторыми вики-версиями: выпуски отклоняются, если сохранённый документ был изменён с момента восстановления оригинала.
- В сочетании с запросом диапазона с
If-Range
его можно использовать для обеспечения того, чтобы новый фрагмент запрашивался из немодифицированного документа.
Тип заголовка | Заголовок запроса |
---|---|
Запрещённое имя заголовка | Нет |
Синтаксис
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
Смотрите также
Last-Modified
If-Modified-Since
If-Match
If-None-Match
If-Range
412
Precondition Failed