WebmasterID logoWebmasterID
Crawl diagnostics

HTTP 428 Precondition Required

HTTP 428 Precondition Required comes from RFC 6585. It lets a server require that a request be conditional, typically demanding an If-Match or If-Unmodified-Since header on a write. The goal is to avoid the lost-update problem: two clients fetch a resource, both modify it, and the second overwrites the first. By requiring a precondition, the server rejects blind writes with 428.

Verified against primary sources

What this means

428 Precondition Required is defined in RFC 6585, which added several useful status codes. A server returns 428 to insist that the client resend the request with a precondition such as If-Match (matching an ETag) or If-Unmodified-Since.

The purpose is to prevent the lost-update problem. Without a precondition, a client might overwrite changes made by another client between its read and its write. Requiring If-Match means the write only succeeds if the resource has not changed since the client last saw it; otherwise the server can reject it with 412 Precondition Failed.

How it relates to crawling

428 is an API-safety mechanism on writes (PUT/PATCH/DELETE), so it is not something search or AI crawlers, which issue read-only GETs without preconditions, normally encounter on content pages.

If a 428 appears for a content URL, an API or write-protected endpoint is exposed where ordinary content was expected. For APIs, document that clients must send If-Match, return the resource's ETag on reads so clients can build conditional writes, and pair 428 with 412 to complete the optimistic-concurrency flow.

How it appears in analytics and logs

A 428 means the server refuses an unconditional request and requires a precondition header. It is an API write-safety control, not a content or routing error, and is essentially never seen on plain content crawls.

Diagnostic use case

Diagnose write requests rejected with 428 because the server requires a conditional header (such as If-Match) to guard against concurrent overwrites.

What WebmasterID can help detect

WebmasterID records the status returned to fetches, so a 428 signals an API endpoint enforcing conditional writes rather than a content problem, kept separate from human analytics.

Common mistakes

Privacy and accuracy notes

A 428 is a concurrency-control response with no visitor identity attached. WebmasterID records crawler fetch statuses without linking them to a person.

Related pages

Sources and verification notes

Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.