Статус: 412
412 Предварительное условие не выполнено
Код состояния HTTP 412 Precondition Failed ответа об ошибке клиента указывает на то, что доступ к целевому ресурсу запрещён. Это происходит при условных запросах с методами, отличными от GET или HEAD, если условие, заданное заголовком If-Unmodified-Since или If-Match, не выполнено. В этом случае запрос (обычно загрузка или изменение ресурса) выполнить нельзя, и отправляется этот ответ об ошибке.
Статус
412 Precondition Failed
Примеры
>Предварительное условие не выполнено
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4" ETag: W/"0815"
Предотвращение конфликтов при одновременных изменениях
С помощью заголовков ETag и If-Match можно предотвратить конфликты и перезапись изменений. Например, при редактировании некоторых страниц вики содержимое хешируется, а хеш помещается в ETag в ответах с успешным статусом:
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
При сохранении изменений на странице вики (отправке данных) запрос POST будет содержать заголовок If-Match со значениями ETag, сохранёнными клиентом после последнего редактирования, чтобы проверить актуальность ресурса на сервере:
If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Если хеши не совпадают, значит, документ успели изменить, и возникает ошибка 412 Precondition Failed.
Спецификации
| Спецификация |
|---|
| Неизвестная спецификация> # status.412> |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/412