HTTP Status Codes

A practical reference for HTTP responses: search registered codes, copy handling examples, inspect a browser-visible response, and choose the right result for an API.

Response class
{{ filteredCodes.length }} registered {{ filteredCodes.length === 1 ? 'code' : 'codes' }}
{{ item.code }} {{ item.name }} {{ item.descriptionEn }}

When to use: {{ item.whenToUse }}

Typical scenarios
  • {{ scenario }}
Related: MDN reference ↗
No registered status code matches “{{ search }}”. Try a number, status name, or scenario.
Language

Only the endpoint you enter receives this request. The browser must be allowed by that endpoint’s CORS policy.

Headers

The request times out locally after 30 seconds.

{{ client.error }}

{{ verdictMark(client.response.status) }} {{ client.response.status }} {{ client.response.statusText || statusName(client.response.status) }}{{ responseAnalysis }}

Response headers

{{ client.response.headers.length }}
{{ header.name }}{{ header.value }}

No response headers are visible to the browser.

Response body

{{ client.response.body || '(empty response body)' }}

CRUD responses

OperationUsual responseWhy
CreateReturn the new resource or a Location header.
ReadReturn the representation.
Update or Return the representation only when the client needs it.
DeleteThe delete completed without a response body.

Authentication & authorization

401Sign inMissing or invalid credentials. Send WWW-Authenticate when required.
403PermissionCredentials are valid but do not permit this action.
407ProxyReserve for proxy authentication, not an application login.

Validation & limits

400SyntaxMalformed JSON or invalid request syntax.
422SemanticsParsed input fails field or business validation.
413SizeThe request content is too large.
429Rate limitSend Retry-After whenever you know the delay.

Redirects & caching

301 / 308PermanentUse 308 when the original method and body must be preserved.
302 / 307TemporaryUse 307 when the original method and body must be preserved.
304Cache hitA conditional GET or HEAD can keep using its stored representation.
412ConditionAn ETag or other precondition no longer matches.

Server and gateway failures

500ApplicationUnexpected server failure. Return a safe error and keep detail in logs.
502GatewayAn intermediary received an invalid upstream response.
503TemporaryMaintenance or overload; include Retry-After when possible.
504TimeoutA gateway waited too long for its upstream.

About this tool

This reference tracks permanent entries in the IANA HTTP Status Code Registry, including WebDAV and widely used extension codes such as 429 and 451. It deliberately labels historical or unused values so they are not mistaken for recommended API behavior.

The HTTP client runs entirely in your browser. It sends a request only to the URL you enter and does not upload request or response data to this site. Browsers enforce CORS, so a cross-origin endpoint must explicitly permit your page to read its response. The client shows only headers the browser exposes.