TrueURL
TrueURL

Меню

428 Precondition Required

Сервер требует, чтобы запрос был условным (If-Match): так не теряются обновления, когда несколько клиентов редактируют один ресурс.

Поясняющая фраза
Precondition Required
Редирект
Нет
Кэшируется по умолчанию
Нет

428 Precondition Required (RFC 6585) означает, что исходный сервер требует, чтобы запрос был условным. Это защищает от проблемы «потерянного обновления»: клиент читает ресурс, изменяет его и записывает обратно методом PUT, затирая изменения, которые за это время внес кто-то другой.

Отвечая 428 на безусловные запросы записи, сервер заставляет клиентов отправлять If-Match с прочитанным ETag. Если ресурс изменился, условный запрос завершится ошибкой 412 Precondition Failed, а не молча перезапишет данные. Ответ должен объяснять, как успешно отправить запрос повторно.

Пример ответа

HTTP
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.

Проверка редиректов URL

Бесплатная проверка редиректов TrueURL покажет все коды ответа, которые возвращает URL, — на каждом переходе цепочки.