The HTTP 428 status code occurs when a server requires a client to use a conditional request.
HTTP supports conditional requests (requests that contain one or more
If-* headers), which are often used in caching. Conditional requests can also be used to verify the integrity of files through checksums.
It can be useful when a client wants to update a resource they retrieved a while back. While the client has been making changes, the file could have been updated or deleted in the meantime (lost update problem is the term-of-art). By forcing clients to use a conditional request, the server minimizes the risk of conflicts.
PUT /upload HTTP/2
The server should reply with instructions on how to resubmit the request correctly. In most cases, you’d have to include the
HTTP/2 428 Precondition Required
- 412 Precondition Failed - a status code server uses when one or more preconditions aren’t met.