sivin.dev
by sivin 00:00:00

← All toolsDev

HTTP Status Codes

Look up any HTTP status code in a searchable list grouped from 1xx to 5xx, with the meaning and when to use it, then copy the code in a click.

Status codes

1xx Informational

  • 100
    Continue

    The client should continue with its request.

    Sent in reply to an Expect: 100-continue header before the client uploads a large body.

  • 101
    Switching Protocols

    The server is switching protocols as requested by the client.

    Use when upgrading a connection, for example to WebSockets via the Upgrade header.

  • 102
    Processing

    The server has received the request but no response is available yet.

    A WebDAV hint that a long operation is still running so the client does not time out.

  • 103
    Early Hints

    Returns some response headers before the final response.

    Send Link headers early so the browser can preload or preconnect while the server works.

2xx Success

  • 200
    OK

    The request succeeded.

    The default success response for GET, and for any request whose result is returned in the body.

  • 201
    Created

    The request succeeded and a new resource was created.

    Return after a POST or PUT that creates a resource, with a Location header pointing to it.

  • 202
    Accepted

    The request was accepted but not yet acted upon.

    Use for asynchronous work that will be processed later, such as a queued job.

  • 203
    Non-Authoritative Information

    The headers may differ from what the origin server sent.

    A proxy or transforming gateway modified the payload before returning it.

  • 204
    No Content

    The request succeeded but there is no body to return.

    Use for a successful DELETE or a save where the client does not need a response body.

  • 205
    Reset Content

    The client should reset the document that sent the request.

    Tell a form-based client to clear its inputs after a successful submission.

  • 206
    Partial Content

    The server is delivering part of the resource.

    Respond to a Range request, for example when resuming a download or streaming media.

  • 207
    Multi-Status

    Conveys multiple statuses for multiple sub-requests.

    A WebDAV response carrying per-resource results inside an XML body.

  • 208
    Already Reported

    The members of a binding were already enumerated.

    A WebDAV optimisation to avoid repeating the same resource in a multi-status reply.

  • 226
    IM Used

    The response is the result of instance manipulations.

    Used with delta encoding where the body represents one or more applied diffs.

3xx Redirection

  • 300
    Multiple Choices

    The request has more than one possible response.

    Offer the client a list of representations to choose from.

  • 301
    Moved Permanently

    The resource has permanently moved to a new URL.

    Use for permanent redirects so clients and search engines update their links.

  • 302
    Found

    The resource is temporarily at a different URL.

    Use for a temporary redirect where the request method may change to GET.

  • 303
    See Other

    The response is found at another URL with a GET.

    Redirect after a POST so a refresh does not resubmit the form (Post-Redirect-Get).

  • 304
    Not Modified

    The cached copy is still valid.

    Reply to a conditional GET with ETag or If-Modified-Since so the client reuses its cache.

  • 307
    Temporary Redirect

    Temporary redirect that preserves the request method.

    Like 302 but the client must repeat the request with the same method and body.

  • 308
    Permanent Redirect

    Permanent redirect that preserves the request method.

    Like 301 but the method and body must not change on the new URL.

4xx Client Error

  • 400
    Bad Request

    The server cannot process the request due to a client error.

    Use for malformed syntax, invalid parameters, or a body that fails validation.

  • 401
    Unauthorized

    Authentication is required and has failed or not been provided.

    Return when no valid credentials are present; include a WWW-Authenticate header.

  • 402
    Payment Required

    Reserved for future use, often used for billing.

    Some APIs use it to signal that payment or an upgraded plan is required.

  • 403
    Forbidden

    The client is authenticated but not allowed access.

    Use when the user is known but lacks permission for the resource or action.

  • 404
    Not Found

    The server cannot find the requested resource.

    Use when the URL does not map to anything, or to hide a resource the user cannot access.

  • 405
    Method Not Allowed

    The method is not supported for this resource.

    Reject an unsupported verb and list the allowed ones in an Allow header.

  • 406
    Not Acceptable

    No representation matches the Accept headers.

    The client asked for a content type the server cannot produce.

  • 407
    Proxy Authentication Required

    Authentication with a proxy is required.

    Like 401 but the credentials must be provided to an intermediate proxy.

  • 408
    Request Timeout

    The server timed out waiting for the request.

    The client was too slow to send a complete request; it may retry.

  • 409
    Conflict

    The request conflicts with the current state of the resource.

    Use for edit conflicts, duplicate creation, or a failed optimistic-concurrency check.

  • 410
    Gone

    The resource is permanently gone with no forwarding address.

    Stronger than 404 for resources you know are deleted and will not return.

  • 411
    Length Required

    The request needs a Content-Length header.

    Reject a request whose body length must be known in advance.

  • 412
    Precondition Failed

    A precondition in the request headers failed.

    A conditional request such as If-Match did not hold, often guarding against lost updates.

  • 413
    Content Too Large

    The request body is larger than the server will accept. Older name: Payload Too Large.

    Reject uploads that exceed your size limit.

  • 414
    URI Too Long

    The request URI is longer than the server will accept.

    Often caused by encoding too much data into a GET query string.

  • 415
    Unsupported Media Type

    The request body is in an unsupported format.

    Reject a body whose Content-Type the endpoint does not understand.

  • 416
    Range Not Satisfiable

    The requested range cannot be served.

    The Range header asked for bytes outside the resource length.

  • 417
    Expectation Failed

    The server cannot meet the request's Expect header.

    The expectation in the Expect header, such as 100-continue, could not be satisfied.

  • 418
    I'm a Teapot

    The server refuses to brew coffee because it is a teapot.

    A joke status from RFC 2324; occasionally used as a playful refusal.

  • 421
    Misdirected Request

    The request was sent to a server that cannot respond.

    The connection was reused for an authority this server does not serve.

  • 422
    Unprocessable Content

    The request was well formed but semantically invalid. Older name: Unprocessable Entity.

    Use for validation errors where the syntax is fine but the data is not acceptable.

  • 423
    Locked

    The resource being accessed is locked.

    A WebDAV lock prevents the operation.

  • 424
    Failed Dependency

    The request failed because a dependent request failed.

    A WebDAV operation depended on another action that did not succeed.

  • 425
    Too Early

    The server is unwilling to risk processing a replayed request.

    Reject early data that could be replayed during a TLS handshake.

  • 426
    Upgrade Required

    The client should switch to a different protocol.

    Require an upgrade, for example to a newer TLS or HTTP version, via the Upgrade header.

  • 428
    Precondition Required

    The origin server requires the request to be conditional.

    Force clients to use If-Match so concurrent updates do not clobber each other.

  • 429
    Too Many Requests

    The client has sent too many requests in a given time.

    Use for rate limiting; include a Retry-After header telling the client when to retry.

  • 431
    Request Header Fields Too Large

    The header fields are too large to process.

    Reject requests with oversized headers or too many cookies.

  • 451
    Unavailable For Legal Reasons

    The resource is blocked for legal reasons.

    Use when content is withheld due to a legal demand such as a takedown.

  • 499
    Client Closed Request

    Non-standard. The client closed the connection before the server sent a response.

    An Nginx-specific code logged when a client disconnects mid-request, often a cancelled fetch or a closed tab.

5xx Server Error

  • 500
    Internal Server Error

    The server hit an unexpected condition.

    The catch-all when an unhandled error stops the server from fulfilling the request.

  • 501
    Not Implemented

    The server does not support the functionality required.

    Return when the method or feature is not implemented at all.

  • 502
    Bad Gateway

    An upstream server returned an invalid response.

    A gateway or proxy got a broken reply from the server it forwards to.

  • 503
    Service Unavailable

    The server is not ready to handle the request.

    Use during maintenance or overload; include Retry-After to suggest when to come back.

  • 504
    Gateway Timeout

    An upstream server did not respond in time.

    A gateway or proxy timed out waiting for an upstream server.

  • 505
    HTTP Version Not Supported

    The HTTP version is not supported.

    The server refuses the major HTTP version used in the request.

  • 506
    Variant Also Negotiates

    The chosen variant is itself a negotiation endpoint.

    A content-negotiation misconfiguration produced a circular reference.

  • 507
    Insufficient Storage

    The server cannot store the representation.

    A WebDAV server has run out of space to complete the request.

  • 508
    Loop Detected

    The server detected an infinite loop.

    A WebDAV operation entered an infinite loop while processing.

  • 510
    Not Extended

    Further extensions to the request are required.

    The server needs an extension declared in the request to proceed.

  • 511
    Network Authentication Required

    The client needs to authenticate to gain network access.

    Used by captive portals to require sign-in before granting internet access.

  • 520
    Web Server Returned an Unknown Error

    Non-standard. Cloudflare got an empty, unknown, or unexpected response from the origin.

    A Cloudflare code that usually points to a crash or a dropped connection at your origin server.

  • 521
    Web Server Is Down

    Non-standard. Cloudflare could not reach the origin server.

    A Cloudflare code meaning the origin refused the connection, often because it is offline or blocking Cloudflare IPs.

  • 522
    Connection Timed Out

    Non-standard. The connection between Cloudflare and the origin timed out.

    A Cloudflare code seen when the origin is overloaded or a firewall is dropping the connection.

  • 523
    Origin Is Unreachable

    Non-standard. Cloudflare could not find a route to the origin.

    A Cloudflare code that usually means a DNS or routing problem pointing at a dead origin address.

  • 524
    A Timeout Occurred

    Non-standard. Cloudflare reached the origin but did not get a timely reply.

    A Cloudflare code for an origin that accepted the connection but took too long to respond.

  • 525
    SSL Handshake Failed

    Non-standard. The TLS handshake between Cloudflare and the origin failed.

    A Cloudflare code usually caused by a misconfigured or mismatched SSL certificate at the origin.

  • 526
    Invalid SSL Certificate

    Non-standard. The origin presented an SSL certificate that could not be validated.

    A Cloudflare code raised in full TLS mode when the origin certificate is expired, self-signed, or untrusted.

More Dev tools