Skip to content
iyziTool

HTTP Status Codes

Search by number or name to find what a status code means and when a server should send it.

1xx · Informational
  • 100ContinueThe request headers were received; the client may send the body. · RFC 9110
  • 101Switching ProtocolsThe server agrees to switch to the protocol named in Upgrade. · RFC 9110
  • 102ProcessingThe server has accepted the request but has not finished it yet. · RFC 2518
  • 103Early HintsPreliminary headers, usually Link, sent before the final response. · RFC 8297
2xx · Success
  • 200OKThe request succeeded. · RFC 9110
  • 201CreatedA new resource was created; Location points to it. · RFC 9110
  • 202AcceptedThe request was accepted for processing, but is not complete. · RFC 9110
  • 203Non-Authoritative InformationThe response was modified by a proxy. · RFC 9110
  • 204No ContentSuccess with no body to return. · RFC 9110
  • 205Reset ContentSuccess; the client should reset the document view. · RFC 9110
  • 206Partial ContentOnly the requested byte range is returned. · RFC 9110
  • 207Multi-StatusWebDAV: multiple status codes in the XML body. · RFC 4918
  • 208Already ReportedWebDAV: members were already listed earlier in the response. · RFC 5842
  • 226IM UsedThe response is a delta of the resource. · RFC 3229
3xx · Redirection
  • 300Multiple ChoicesSeveral representations exist; the client should pick one. · RFC 9110
  • 301Moved PermanentlyThe resource has a new permanent URL; search engines update their index. · RFC 9110
  • 302FoundTemporary redirect; the method may change to GET. · RFC 9110
  • 303See OtherRedirect to another resource with GET, typically after a POST. · RFC 9110
  • 304Not ModifiedThe cached copy is still valid; no body is sent. · RFC 9110
  • 307Temporary RedirectTemporary redirect that keeps the method and body. · RFC 9110
  • 308Permanent RedirectPermanent redirect that keeps the method and body. · RFC 9110
4xx · Client error
  • 400Bad RequestThe request is malformed or invalid. · RFC 9110
  • 401UnauthorizedAuthentication is required or failed. · RFC 9110
  • 402Payment RequiredReserved; used by some APIs for billing problems. · RFC 9110
  • 403ForbiddenThe server understood the request but refuses to authorise it. · RFC 9110
  • 404Not FoundNo resource exists at this URL. · RFC 9110
  • 405Method Not AllowedThe HTTP method is not supported for this resource. · RFC 9110
  • 406Not AcceptableNo representation matches the Accept headers. · RFC 9110
  • 407Proxy Authentication RequiredThe client must authenticate with the proxy first. · RFC 9110
  • 408Request TimeoutThe server gave up waiting for the request. · RFC 9110
  • 409ConflictThe request conflicts with the current state, e.g. an edit collision. · RFC 9110
  • 410GoneThe resource was removed permanently. · RFC 9110
  • 411Length RequiredContent-Length is missing. · RFC 9110
  • 412Precondition FailedAn If-* precondition was not met. · RFC 9110
  • 413Content Too LargeThe request body exceeds the server's limit. · RFC 9110
  • 414URI Too LongThe URL is longer than the server accepts. · RFC 9110
  • 415Unsupported Media TypeThe body format is not supported. · RFC 9110
  • 416Range Not SatisfiableThe requested byte range is outside the resource. · RFC 9110
  • 417Expectation FailedThe Expect header could not be met. · RFC 9110
  • 418I'm a teapotApril Fools' joke from RFC 2324; teapots refuse to brew coffee. · RFC 2324
  • 421Misdirected RequestThe request was sent to a server that cannot answer for this origin. · RFC 9110
  • 422Unprocessable ContentThe syntax is fine but the content fails validation. · RFC 9110
  • 423LockedWebDAV: the resource is locked. · RFC 4918
  • 424Failed DependencyWebDAV: an earlier request in the batch failed. · RFC 4918
  • 425Too EarlyThe server refuses to risk a replayed request. · RFC 8470
  • 426Upgrade RequiredThe client must switch protocols, e.g. to TLS. · RFC 9110
  • 428Precondition RequiredThe request must be conditional to avoid lost updates. · RFC 6585
  • 429Too Many RequestsRate limit hit; Retry-After says when to try again. · RFC 6585
  • 431Request Header Fields Too LargeHeaders are too big, often oversized cookies. · RFC 6585
  • 451Unavailable For Legal ReasonsBlocked by a legal demand, such as a court order. · RFC 7725
5xx · Server error
  • 500Internal Server ErrorThe server hit an unexpected error. · RFC 9110
  • 501Not ImplementedThe server does not support the request method. · RFC 9110
  • 502Bad GatewayAn upstream server returned an invalid response. · RFC 9110
  • 503Service UnavailableThe server is overloaded or down for maintenance. · RFC 9110
  • 504Gateway TimeoutAn upstream server did not answer in time. · RFC 9110
  • 505HTTP Version Not SupportedThe HTTP version in the request is not supported. · RFC 9110
  • 506Variant Also NegotiatesContent negotiation is misconfigured on the server. · RFC 2295
  • 507Insufficient StorageWebDAV: the server is out of space. · RFC 4918
  • 508Loop DetectedWebDAV: infinite loop while processing. · RFC 5842
  • 510Not ExtendedFurther extensions are required. · RFC 2774
  • 511Network Authentication RequiredA captive portal requires login before network access. · RFC 6585

About this tool

Every HTTP response starts with a three-digit status. The first digit gives the class: 1xx informational, 2xx success, 3xx redirection, 4xx the client did something wrong, 5xx the server failed. Knowing the exact code matters for SEO (301 versus 302 decides whether search engines update their index), for API design (422 versus 400, 401 versus 403) and for debugging (502 and 504 point at an upstream, 503 at overload).

This list follows RFC 9110, the current HTTP semantics specification, plus the registered codes from WebDAV, rate limiting and legal blocking RFCs. Each entry has a one-line explanation of what the code communicates and the RFC that defines it.

Frequently asked questions

What is the difference between 401 and 403?
401 means you are not authenticated: log in and try again. 403 means you are known but not allowed; logging in again will not help.
301 or 308 for a permanent redirect?
Both are permanent. 308 guarantees the method and body are kept; 301 may be turned into a GET by clients.
Is 418 real?
It comes from an April Fools' RFC and is not part of the HTTP standard, but many servers implement it for fun.

Related tools