HTTP status codes

Search and reference table (1xx–5xx)

All computation runs locally in your browser

Last updated: February 4, 2026
Frank Zhao - Creator
CreatorFrank Zhao
Showing 63 status codes

1xx informational response

4 codes

100 Continue
Waiting for the client to emit the body of the request.
HTTP
101 Switching Protocols
The server has agreed to change protocol.
HTTP
102 Processing
The server is processing the request, but no response is available yet.
WebDav
103 Early Hints
The server returns some response headers before final HTTP message.
HTTP

2xx success

10 codes

200 OK
Standard response for successful HTTP requests.
HTTP
201 Created
The request has been fulfilled, resulting in the creation of a new resource.
HTTP
202 Accepted
The request has been accepted for processing, but the processing has not been completed.
HTTP
203 Non-Authoritative Information
The request is successful but the content of the original request has been modified by a transforming proxy.
HTTP
204 No Content
The server successfully processed the request and is not returning any content.
HTTP
205 Reset Content
The server indicates to reinitialize the document view which sent this request.
HTTP
206 Partial Content
The server is delivering only part of the resource due to a range header sent by the client.
HTTP
207 Multi-Status
The message body that follows is an XML message and can contain a number of separate response codes.
WebDav
208 Already Reported
The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response.
WebDav
226 IM Used
The server has fulfilled a request for the resource, and the response is a representation of the result.
HTTP

3xx redirection

9 codes

300 Multiple Choices
Indicates multiple options for the resource that the client may follow.
HTTP
301 Moved Permanently
This and all future requests should be directed to the given URI.
HTTP
302 Found
Redirect to another URL. This is an example of industry practice contradicting the standard.
HTTP
303 See Other
The response to the request can be found under another URI using a GET method.
HTTP
304 Not Modified
Indicates that the resource has not been modified since the version specified by the request headers.
HTTP
305 Use Proxy
The requested resource is available only through a proxy, the address for which is provided in the response.
HTTP
306 Switch Proxy
No longer used. Originally meant "Subsequent requests should use the specified proxy."
HTTP
307 Temporary Redirect
In this case, the request should be repeated with another URI; however, future requests should still use the original URI.
HTTP
308 Permanent Redirect
The request and all future requests should be repeated using another URI.
HTTP

4xx client error

29 codes

400 Bad Request
The server cannot or will not process the request due to an apparent client error.
HTTP
401 Unauthorized
Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.
HTTP
402 Payment Required
Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme.
HTTP
403 Forbidden
The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
HTTP
404 Not Found
The requested resource could not be found but may be available in the future.
HTTP
405 Method Not Allowed
A request method is not supported for the requested resource.
HTTP
406 Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.
HTTP
407 Proxy Authentication Required
The client must first authenticate itself with the proxy.
HTTP
408 Request Timeout
The server timed out waiting for the request.
HTTP
409 Conflict
Indicates that the request could not be processed because of conflict in the request, such as an edit conflict.
HTTP
410 Gone
Indicates that the resource requested is no longer available and will not be available again.
HTTP
411 Length Required
The request did not specify the length of its content, which is required by the requested resource.
HTTP
412 Precondition Failed
The server does not meet one of the preconditions that the requester put on the request.
HTTP
413 Payload Too Large
The request is larger than the server is willing or able to process.
HTTP
414 URI Too Long
The URI provided was too long for the server to process.
HTTP
415 Unsupported Media Type
The request entity has a media type which the server or resource does not support.
HTTP
416 Range Not Satisfiable
The client has asked for a portion of the file, but the server cannot supply that portion.
HTTP
417 Expectation Failed
The server cannot meet the requirements of the Expect request-header field.
HTTP
418 I'm a teapot
The server refuses the attempt to brew coffee with a teapot.
HTTP
421 Misdirected Request
The request was directed at a server that is not able to produce a response.
HTTP
422 Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.
HTTP
423 Locked
The resource that is being accessed is locked.
HTTP
424 Failed Dependency
The request failed due to failure of a previous request.
HTTP
425 Too Early
Indicates that the server is unwilling to risk processing a request that might be replayed.
HTTP
426 Upgrade Required
The client should switch to a different protocol such as TLS/1.0.
HTTP
428 Precondition Required
The origin server requires the request to be conditional.
HTTP
429 Too Many Requests
The user has sent too many requests in a given amount of time.
HTTP
431 Request Header Fields Too Large
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
HTTP
451 Unavailable For Legal Reasons
A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.
HTTP

5xx server error

11 codes

500 Internal Server Error
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
HTTP
501 Not Implemented
The server either does not recognize the request method, or it lacks the ability to fulfill the request.
HTTP
502 Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
HTTP
503 Service Unavailable
The server is currently unavailable (because it is overloaded or down for maintenance).
HTTP
504 Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
HTTP
505 HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
HTTP
506 Variant Also Negotiates
Transparent content negotiation for the request results in a circular reference.
HTTP
507 Insufficient Storage
The server is unable to store the representation needed to complete the request.
HTTP
508 Loop Detected
The server detected an infinite loop while processing the request.
HTTP
510 Not Extended
Further extensions to the request are required for the server to fulfill it.
HTTP
511 Network Authentication Required
The client needs to authenticate to gain network access.
HTTP

Introduction / overview

The HTTP Status Codes tool is a searchable reference for the most common HTTP and WebDAV status codes. It helps you answer questions like: “Is this failure on the client or server?”, “Should I retry?”, or “Is this a redirect or a cache hit?”.

A practical way to use status codes: treat them as a short, standardized summary of the outcome. Start with the first digit (class), then read the specific code for details.

Who uses this most?

  • Developers debugging APIs, proxies, CDNs, and browser network calls.
  • DevOps/SRE teams triaging incidents with logs, metrics, and tracing.
  • QA and product teams validating integrations and edge cases.

Privacy note: this page is a static reference and search runs locally in your browser.

If you are working on authentication and repeatedly hit 401401 or 403403, it often helps to cross-check your headers using Basic auth generator. For URL issues, pair it with URL parser.

How to Use / Quick Start Guide

1

Type a code or keyword

Use the search box to filter by code (404), name (Not Found), description, or type (WebDAV).

2

Scan the category heading

The category (1xx–5xx) quickly tells you whether it is informational, success, redirect, client error, or server error.

3

Open Share to copy a link

Use Share to get a URL. If you searched for something, the shared link can include your query so teammates see the same filtered view.

Worked example: quick incident triage

You watch a dashboard and see N=120N=120 requests in a minute. N5xx=9N_{5xx}=9 are server errors. A quick way to summarize the impact is the 5xx error rate:

r5xxr_{5xx}==N5xxN100%\frac{N_{5xx}}{N}\cdot 100\%==9120100%\frac{9}{120}\cdot 100\%==7.5%7.5\%

Now you can say: “We are at 7.5%7.5\% 5xx right now” and then use the table to check the specific code (for example 502502 vs 503503) to choose the next step.

Worked example: success vs redirect

Suppose a client made N=200N=200 requests. You logged N2xx=160N_{2xx}=160 successes and N3xx=30N_{3xx}=30 redirects. The success rate is:

r2xxr_{2xx}==N2xxN100%\frac{N_{2xx}}{N}\cdot 100\%==160200100%\frac{160}{200}\cdot 100\%==80%80\%

Redirects can be fine (for example HTTP to HTTPS migrations). But if 3xx3xx suddenly spikes, look for broken caching rules, incorrect canonical URLs, or a misconfigured reverse proxy.

Real-World Examples / Use Cases

502 / 504 behind a reverse proxy

Background: A service works locally, but traffic through a proxy returns 502502.

Inputs: status code 502502, request path, upstream timeout settings.

Result: use the description to confirm this is usually an upstream issue, then check proxy logs and timeouts.

401 vs 403 in API auth

Background: Requests fail after adding auth headers.

Inputs: status 401401 or 403403, auth method, and headers.

How to apply: 401401 often means missing or invalid credentials; 403403 often means authenticated but not allowed. If you use Basic Auth, generate a correct header with Basic auth generator.

304 Not Modified and caching sanity checks

Background: A page looks stale, but requests return 304304.

Inputs: status 304304, cache headers, ETag, and browser reload mode.

Result: confirm the server is telling the client to reuse cached content; then verify cache-control rules.

429 rate limiting during load tests

Background: A test starts failing with 429429.

Inputs: request rate, retry policy, and any Retry-After headers.

How to apply: reduce concurrency, implement exponential backoff, or request higher limits.

Common Scenarios / When to Use

API development

Quickly confirm what a response code means while building endpoints or clients.

Log review

Translate a wall of 4xx/5xx into clear next actions: fix client inputs, permissions, or server health.

Retry decisions

Decide whether a request should be retried (timeouts, 5xx) or fixed (validation errors, 4xx).

Incident triage

During an outage, quickly communicate the meaning of the dominant status code to stakeholders.

Auth troubleshooting

Differentiate between “not logged in” and “not allowed” using 401/403 as the starting point.

Proxy and CDN debugging

Explain 301/302 loops, 304 caching behavior, and gateway errors like 502/504.

When it may not be enough: status codes alone do not explain what data failed validation or which upstream system timed out. Pair them with logs, trace IDs, and response bodies.

Tips & Best Practices

Start with the first digit

If you only remember one thing: 4xx4xx is usually a client-side issue (inputs, auth, permissions), and 5xx5xx is usually a server-side issue (upstream, overload, crash).

Retry with intention

Retrying a 429429 or 503503 without backoff can make things worse. Prefer exponential backoff and respect Retry-After when present.

Share the exact filter when collaborating

If your team is discussing one code family (for example WebDAV), use Share after searching so everyone lands on the same filtered view.

Calculation Method / Formula Explanation

This tool is primarily a reference table (it does not compute responses for you), but teams often use status code counts to summarize behavior.

rkxx=NkxxN100%r_{kxx} = \frac{N_{kxx}}{N}\cdot 100\%

where k{2,3,4,5}k \in \{2,3,4,5\} for the status code family.

Variables explained

  • NN = total number of responses in your time window
  • NkxxN_{kxx} = number of responses in the kxxkxx family
  • rkxxr_{kxx} = percentage rate for that family

Related Concepts / Background Info

Families matter

Codes are grouped by their first digit: 1xx1xx informational,2xx2xx success, 3xx3xx redirection,4xx4xx client error, and 5xx5xx server error.

Caching is not always obvious

A 304304 can be a good sign (cache working) or a confusing one (stale content). Always interpret it alongside response headers.

If you are debugging URL formatting issues that trigger unexpected 400400 or 404404, try the URL encoder and URL parser.

Frequently Asked Questions (FAQs)

Is 404 always a broken link?

Not always. A 404404 means the server did not find the resource. It can be a broken route, a missing file, a wrong hostname, or even an intentionally hidden endpoint.

When should I retry a request?

Retrying is most reasonable for transient failures like 408408,429429 (with backoff), and some 5xx5xx responses. Retrying most 4xx4xx responses without changing the request usually does not help.

What is the difference between 401 and 403?

401401 means authentication is missing or failed. 403403 means you are authenticated (or identified) but do not have permission.

Is 204 an error?

No. 204204 is a success status that intentionally returns no body. It is common for “delete” operations or “save” endpoints.

Why do I see 102 or 207?

Those are commonly associated with WebDAV. This tool includes both HTTP and WebDAV codes so you can interpret responses from file servers and collaboration platforms.

Limitations / Disclaimers

Status codes are only one part of debugging. They do not replace reading the response body, request logs, server metrics, or tracing data.

This reference is informational. It does not provide legal, compliance, or security advice.

External References / Sources

If you frequently copy headers, tokens, and URLs while debugging, you may also like JWT parser, URL encoder, and MIME types.