Skip to content

HTTP status codes

Web & developer

What does HTTP status 404 mean?

Look up any HTTP status code: what 200, 301, 404, 429 or 503 means, when a server sends it, whether caches keep it and which RFC defines it.

Find a status code

Such as 404, 5xx or redirect

Showing 64 of 64

HTTP 404

Not Found

The server has nothing at this address, or will not say whether it does. The most common error on the web.

Status 404 in detail

Class
4xx Client error: the request has a problem
Cacheable by default
Yes, even without cache headers
In the registry
Assigned
Defined in
RFC 9110 §15.5.5

Servers and frameworks sometimes use codes in their own way, and unregistered codes (such as 499 or 520) come from single vendors and are not listed.

Sponsored Links

HTTP status codes in the IANA registry

  • Reason phrase
    Continue
    Meaning
    The server has received the request headers and the client should go on sending the body. Sent after a request with Expect: 100-continue.
    Defined in
    RFC 9110 §15.2.1
  • Reason phrase
    Switching Protocols
    Meaning
    The server agrees to switch to the protocol the client asked for in the Upgrade header, for example to a WebSocket.
    Defined in
    RFC 9110 §15.2.2
  • Reason phrase
    Processing
    Meaning
    A WebDAV server is still working on a long request and has no final answer yet. Deprecated in later WebDAV specifications.
    Defined in
    RFC 2518
  • Reason phrase
    Early Hints
    Meaning
    An early, interim answer with Link headers, so the browser can start loading styles and scripts while the server prepares the real response.
    Defined in
    RFC 8297
  • Reason phrase
    Upload Resumption Supported
    Meaning
    An interim answer telling the client that the server supports resumable uploads, from an Internet-Draft. A temporary registration that expires unless renewed.
    Defined in
    draft-ietf-httpbis-resumable-upload-05
  • Reason phrase
    OK
    Meaning
    The request succeeded. The body holds the result: the page for a GET, the outcome of the action for a POST.
    Defined in
    RFC 9110 §15.3.1
  • Reason phrase
    Created
    Meaning
    The request created a new resource. The Location header usually points to it.
    Defined in
    RFC 9110 §15.3.2
  • Reason phrase
    Accepted
    Meaning
    The request was accepted for processing, but the work is not finished, for example a queued job.
    Defined in
    RFC 9110 §15.3.3
  • Reason phrase
    Non-Authoritative Information
    Meaning
    Success, but a transforming proxy changed the content from what the origin server sent.
    Defined in
    RFC 9110 §15.3.4
  • Reason phrase
    No Content
    Meaning
    Success with no body to send back, typical for a save or a delete. The browser stays on the current page.
    Defined in
    RFC 9110 §15.3.5

Look up any HTTP status code: what 200, 301, 404, 429 or 503 means, when a server sends it, whether caches keep it and which RFC defines it.

How to use

  1. Type a status code such as 404, a class such as 5xx, or words such as redirect or rate limit.
  2. Pick a class to see only its codes.
  3. Select a row to see its meaning, whether caches keep it and the RFC that defines it.

How it works

Every answer a web server sends starts with a three-digit status code that says how the request went. The first digit gives the class: 1xx informational (the request goes on), 2xx success, 3xx redirection, 4xx a problem with the request and 5xx a failure on the server. The words after the code, such as Not Found, are the reason phrase; programs act on the number, never on the words.

The codes are defined in RFC 9110, HTTP Semantics, and in a few other RFCs, and IANA keeps the official registry of every assigned code. A client that gets a code it does not know treats it as the x00 code of its class: an unknown 437 counts as a 400. Some codes may be stored by caches without any explicit cache headers (RFC 9110 calls them heuristically cacheable): 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414 and 501.

Example: a page that has moved for good answers 301 or 308 with the new address in the Location header, and browsers and search engines then use the new address. 308 also keeps the method, so a form POST is repeated as a POST, while after a 301 browsers may switch to GET.

The table follows the IANA registry and is refreshed from it. Codes that single vendors use without registering them, such as 499 from nginx or 520 from Cloudflare, are not listed.

Sponsored Links

Frequently asked questions

What does HTTP 404 mean?

Not Found: the server has nothing at that address, or will not say whether it does. Check the address for typos; the page may have moved or been removed.

What is the difference between 401 and 403?

401 means you are not authenticated: log in or send valid credentials. 403 means the server knows who you are, or does not care, and still refuses: you lack permission.

What is the difference between 301, 302, 307 and 308?

301 and 308 are permanent moves, 302 and 307 temporary ones. 307 and 308 require the client to repeat the same method and body; after 301 or 302 browsers may change a POST into a GET.

What does 500 Internal Server Error mean?

Something failed on the server, and it has no more precise code to give. The request itself is usually fine; the fault is in the site's software or setup.

What is the difference between 502, 503 and 504?

502 means a proxy or gateway got an invalid answer from the server behind it, 504 that it got no answer in time. 503 means the server itself is overloaded or down for maintenance.

What does 429 Too Many Requests mean?

You sent too many requests in a short time and the server is limiting the rate. Wait and try again; a Retry-After header may say how long.

Is 418 I'm a teapot a real status code?

It started as an April Fools' joke in 1998 (the coffee pot protocol). RFC 9110 reserves 418 as unused, so it has no meaning in HTTP, although some servers still send it in jest.

Sponsored Links

Sponsored Links