HTTP Status Codes

Every HTTP status code with what it means and when to use it.

About HTTP Status Codes

A list of HTTP status codes from 100 to 599 with the reason phrase, what each code means, when to use it and the RFC that defines it, grouped by class.

How to use

  1. Type a code or a word in the filter: 404, redirect, rate limit, WebDAV. Typing 4 shows the whole 4xx class.
  2. Read the class heading for the general meaning, then the row for the specific code.
  3. Copy copies the status line, for example 404 Not Found, ready for a response or a bug report.

What is covered

Class Meaning
1xx Informational Interim responses: 100 Continue, 101 Switching Protocols, 103 Early Hints
2xx Success 200 OK, 201 Created, 202 Accepted, 204 No Content, 206 Partial Content and the WebDAV codes
3xx Redirection 301 and 308 permanent, 302 and 307 temporary, 303 See Other, 304 Not Modified
4xx Client error 400 through 451: authentication, permissions, not found, validation, rate limiting
5xx Server error 500 through 511: crashes, bad gateways, timeouts, unsupported versions
  • Every code in the IANA HTTP Status Code Registry is listed, with the section of RFC 9110 (the 2022 HTTP semantics standard) or the RFC that defines it.
  • Codes marked unofficial are not in the registry but turn up in real logs: 418 from the teapot RFC, nginx 444 and 499, and Cloudflare 520–527.
  • cacheable marks the codes a cache may store by default without explicit freshness headers (RFC 9110 §15.1): 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414 and 501.
  • deprecated marks codes that still exist in the registry but should not be sent: 102, 305, 306.

Example

Filter: 30
→ 300 Multiple Choices
→ 301 Moved Permanently   cacheable
→ 302 Found
→ 303 See Other
→ 304 Not Modified
→ 307 Temporary Redirect
→ 308 Permanent Redirect  cacheable

Privacy

The list is part of the page. Filtering runs in the browser; no request is made and nothing is stored.

Frequently asked questions

What is the difference between 401 and 403?
401 Unauthorized means the request has no valid credentials: log in or send a token and try again. 403 Forbidden means the server knows who you are and still refuses; re-authenticating will not help. 401 responses must include a WWW-Authenticate header.
What does HTTP 418 mean?
418 "I'm a teapot" comes from RFC 2324, an April Fools specification for the Hyper Text Coffee Pot Control Protocol. It is not a real HTTP status, and RFC 9110 reserves it as unused, but many frameworks implement it and some sites return it to bots.
What is the difference between 301 and 302?
301 Moved Permanently tells clients and search engines the resource has moved for good, so the new URL should be used and cached from now on. 302 Found is temporary: keep using the old URL. Both may turn a POST into a GET; use 308 and 307 when the method must be preserved.
What is the difference between 502 and 504?
Both come from a proxy or load balancer in front of the real server. 502 Bad Gateway means the upstream answered with something invalid or refused the connection, usually a crash. 504 Gateway Timeout means the upstream accepted the request but did not respond before the proxy gave up.