HTTP status code
= HTTP status code
{c}
An <HTTP status code> is a three-digit code in an <HTTP response> describing the outcome or progress of handling an <HTTP request>. Its first digit identifies a broad class: informational `1xx`, successful `2xx`, redirection `3xx`, client-error `4xx` or server-error `5xx`. The particular code and request method refine the meaning.<HTTP Semantics>[§15, status-code overview and classes]{ref}
For an invented `/color` resource, a `PUT` can store `blue` and return `204` to indicate successful fulfillment without response content. A later `GET` can return `200` with the text `blue`. A `HEAD` response can also have status `200` while carrying no response content. Thus a successful code does not by itself determine whether there is a body to read.<HTTP Semantics>[§§15.3.1 and 15.3.5, 200 and 204; §9.3.2, HEAD]{ref}
In <HTTP 1.1>, a status line might be written `HTTP/1.1 200 OK`. The numerical code supplies the standardized status; the accompanying reason phrase is optional and is not the authority for interpretation. Changing the descriptive phrase does not redefine code `200`.<HTTP 1.1 (RFC 9112)>[§4, Status Line]{ref}
An <HTTP status code> describes this exchange rather than proving that every application-level goal succeeded. A request can be transferred correctly and still receive an error status. Conversely, receiving `200` does not establish that an application-specific calculation inside the returned content is correct. Interpret status, <HTTP header fields>, content and the application's contract together.