Continue
The server has received the request headers and the client should send the body. Used with Expect: 100-continue.
RFC 9110 · Link
🔒 Runs in your browser — nothing is uploaded✓ Free, no signup
Every HTTP response status code explained in plain English. Search by number or keyword, or filter by class — from 1xx informational to 5xx server errors.
The request was received and is being processed.
The server has received the request headers and the client should send the body. Used with Expect: 100-continue.
RFC 9110 · Link
The server is switching protocols as requested by the Upgrade header — for example, to WebSocket.
RFC 9110 · Link
The server has accepted the request but hasn't finished it yet (WebDAV). Rarely used today.
RFC 2518 · Link
Lets the browser start preloading resources (via Link headers) while the server prepares the final response.
RFC 8297 · Link
The request was received, understood and accepted.
The request succeeded. The body contains the result — the resource for GET, the outcome for POST.
RFC 9110 · Link
The request succeeded and a new resource was created. The Location header usually points to it.
RFC 9110 · Link
The request was accepted for processing but isn't finished — common for background jobs and queues.
RFC 9110 · Link
The response was modified by a proxy and isn't exactly what the origin server sent.
RFC 9110 · Link
The request succeeded and there's no body to return. Common for DELETE and for PUT updates.
RFC 9110 · Link
The request succeeded and the client should reset the form or view that sent it.
RFC 9110 · Link
Only part of the resource is returned, as asked for by a Range header — used for resumable downloads and video streaming.
RFC 9110 · Link
The body contains several status codes for several operations (WebDAV).
RFC 4918 · Link
Members of a WebDAV binding were already listed earlier in the response.
RFC 5842 · Link
The server applied instance manipulations (such as a delta) to the response.
RFC 3229 · Link
Further action is needed — usually following another URL.
There are several possible responses and the client should choose one.
RFC 9110 · Link
A permanent redirect — the resource has a new URL, given in the Location header. Browsers and search engines update their links. The method may change from POST to GET.
RFC 9110 · Link
A temporary redirect — the resource is at another URL for now (Location header). Browsers usually follow it with GET.
RFC 9110 · Link
A redirect telling the client to GET another URL — typically used after a form POST to show a result page.
RFC 9110 · Link
The cached copy is still valid, so no body is sent. A response to If-None-Match or If-Modified-Since.
RFC 9110 · Link
Temporarily at another URL — and unlike 302, the method and body must stay the same.
RFC 9110 · Link
Permanently at another URL — and unlike 301, the method and body must stay the same.
RFC 9110 · Link
The request has a problem the client needs to fix.
The server can't process the request because it's malformed — invalid JSON, missing fields or bad syntax.
RFC 9110 · Link
Authentication is required or has failed. Despite the name, it means unauthenticated — send valid credentials.
RFC 9110 · Link
Reserved for future use. Some APIs use it for billing or quota problems.
RFC 9110 · Link
The server understood who you are but refuses access. Logging in again won't help.
RFC 9110 · Link
The resource doesn't exist at this URL — or the server is hiding that it exists.
RFC 9110 · Link
The URL exists but doesn't support this method (for example, POST to a read-only endpoint). The Allow header lists valid methods.
RFC 9110 · Link
The server can't produce a response matching the Accept headers sent by the client.
RFC 9110 · Link
Like 401, but the client must authenticate with a proxy.
RFC 9110 · Link
The server gave up waiting for the client to finish sending the request.
RFC 9110 · Link
The request conflicts with the current state — for example, a duplicate record or an edit conflict.
RFC 9110 · Link
The resource was deliberately and permanently removed. Unlike 404, it won't come back.
RFC 9110 · Link
The server needs a Content-Length header.
RFC 9110 · Link
A condition in the request headers (such as If-Match) wasn't met — often used to prevent lost updates.
RFC 9110 · Link
The request body is larger than the server allows — for example, an upload over the size limit.
RFC 9110 · Link
The URL is longer than the server will handle — often caused by very long query strings.
RFC 9110 · Link
The server doesn't support the body's format. Check the Content-Type header.
RFC 9110 · Link
The Range requested is outside the size of the resource.
RFC 9110 · Link
The server can't meet the Expect request header.
RFC 9110 · Link
An April Fools' joke from the Hyper Text Coffee Pot Control Protocol. Some sites use it for playful errors.
RFC 2324 · Link
The request reached a server that can't respond for this host — seen with HTTP/2 connection reuse.
RFC 9110 · Link
The syntax is fine but the content fails validation — common in REST APIs for field errors.
RFC 9110 · Link
The resource is locked (WebDAV).
RFC 4918 · Link
The request failed because an earlier request it depended on failed (WebDAV).
RFC 4918 · Link
The server won't process a request that might be replayed (TLS early data).
RFC 8470 · Link
The client must switch to another protocol, given in the Upgrade header.
RFC 9110 · Link
The server requires conditional requests (such as If-Match) to prevent lost updates.
RFC 6585 · Link
Rate limit exceeded. The Retry-After header says how long to wait before trying again.
RFC 6585 · Link
The headers are too big — often caused by too many or oversized cookies.
RFC 6585 · Link
Access is blocked for legal reasons, such as a court order or government censorship.
RFC 7725 · Link
The server failed to handle a valid request.
A generic server error — something unexpected went wrong, such as an unhandled exception. Check the server logs.
RFC 9110 · Link
The server doesn't support the functionality needed — for example, an unknown method.
RFC 9110 · Link
A gateway or proxy (such as Nginx or a load balancer) got an invalid response from the upstream server — often because the app crashed or isn't running.
RFC 9110 · Link
The server is temporarily unable to handle requests — overloaded or down for maintenance. Retry-After may say when to try again.
RFC 9110 · Link
A gateway or proxy didn't get a response from the upstream server in time — often a slow query or a hung app.
RFC 9110 · Link
The server doesn't support the HTTP version used in the request.
RFC 9110 · Link
A server configuration error in content negotiation.
RFC 2295 · Link
The server can't store what's needed to complete the request (WebDAV).
RFC 4918 · Link
The server found an infinite loop while processing the request (WebDAV).
RFC 5842 · Link
Further extensions are required for the server to fulfil the request.
RFC 2774 · Link
You need to sign in to the network first — typical of hotel or airport Wi-Fi captive portals.
RFC 6585 · Link
Search
Type a code (404), a class (5xx) or words like redirect or rate limit.
Filter by class
Show only 2xx successes, 4xx client errors and so on.
Read the explanation
Each code says what it means, when it's used and which spec defines it.
Share a code
Use the Link under a code to share it directly, for example /http-status-codes#429.
Searching for 'redirect'
Search
redirect
Matches
301 Moved Permanently 302 Found 303 See Other 307 Temporary Redirect 308 Permanent Redirect
401 or 403?502 or 504?Free tools that run in your browser — no signup, nothing uploaded.
Break a URL into protocol, host, path, query parameters and hash.
Convert IPv4 between dotted, decimal, hex and binary, and expand IPv6.
See your user agent and parse any UA string into browser, OS and device.
Calculate network, broadcast, host range and mask for any IPv4 CIDR.
Generate SEO meta tags, Open Graph and X card tags with live previews.
Parse Cookie and Set-Cookie headers into a readable table with security checks.
Generate CORS and security headers for Nginx, Apache, Express, Next.js and more.
See your screen resolution, viewport size and device pixel ratio instantly.
Press any key to see its event.key, event.code and keyCode.
1xx informational, 2xx success, 3xx redirection, 4xx client errors (a problem with the request) and 5xx server errors (the server failed).
301 is a permanent redirect — browsers and search engines update to the new URL. 302 is temporary. Use 308 and 307 if the request method must not change.
The server has nothing at that URL. If the page was removed deliberately and won't return, 410 Gone is more precise.
400 for a request that can't be parsed (bad JSON or syntax). 422 when it parses but fails validation, such as a missing or invalid field.
You've hit a rate limit. Wait for the time in the Retry-After header before trying again.
An unexpected error on the server, such as an unhandled exception or a bug. The details are in the server's logs, not the response.