428 Precondition Required (RFC 6585) означает, что исходный сервер требует, чтобы запрос был условным. Это защищает от проблемы «потерянного обновления»: клиент читает ресурс, изменяет его и записывает обратно методом PUT, затирая изменения, которые за это время внес кто-то другой.
Отвечая 428 на безусловные запросы записи, сервер заставляет клиентов отправлять If-Match с прочитанным ETag. Если ресурс изменился, условный запрос завершится ошибкой 412 Precondition Failed, а не молча перезапишет данные. Ответ должен объяснять, как успешно отправить запрос повторно.
Пример ответа
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71
{"error":"Send If-Match with the current ETag to update this resource"} SEO и проверка редиректов
На SEO не влияет: 428 касается запросов на запись в API и при совместном редактировании, а запросы GET поисковых роботов его не вызывают.
Типичные причины и сценарии использования
- API требует
If-MatchдляPUT,PATCHилиDELETE, а клиент его не отправил. - Сервис совместного редактирования документов применяет оптимистичную блокировку.
- С таким API работает клиентская библиотека без поддержки ETag.