Style:
Original
font-size
columns
#

Recommended

100: Continue
200: OK
300: Multiple Choices
400: Bad Request
404: Not Found
500 : Internal Server Error
201 : Created
302 : Found (Previously Moved Temporarily)
403 : Forbidden
503 Service Unavailable
206 Partial Content
terms and conditions
privacy policy
contact

HTTP status codes

Author:Eddie A.
Column 1

100

Continue

This status code indicates that the initial part of a request has been received and the server is waiting for the client to send additional information. It is typically used in response to an HTTP 1.1 Upgrade header indicating that the client wishes to switch protocols.

101

Switching Protocols

- The server understands and is willing to comply with the client's upgrade request.

- Used in response to an Upgrade header from the client, indicating that it should switch protocols.

- After receiving this status code, the client can send a new request using a different protocol.

102

Processing

- Indicates that the server has received and is processing the request, but no response is available yet.

- This status code can be used to prevent a client from timing out while waiting for a long-running process to complete on the server.

- The 102 status code should only be sent when there are ongoing operations.

103

Early Hints

This status code is an informational response indicating that the server is still processing the request. It is typically used in a multi-step process where further action or input from the client may be required. The client should continue to send requests with this expectation until it receives a different status code.

300

Multiple Choices

- The requested resource has multiple choices available, each with its own URI and response.

- The client can select one of the options using a GET request or specify their preference in the 'Accept' header field.

- This status code is typically used when there are different versions or formats of a resource available.

301

Moved Permanently

The HTTP status code '301' indicates a permanent redirect. It is used when the requested resource has been permanently moved to a new location. The client should update its bookmarks or links as necessary, and future requests should be made to the new URL provided in the response.

302

Found (Previously "Moved Temporarily")

The HTTP status code '302 Found' is a temporary redirect. It indicates that the requested resource has been temporarily moved to a different URL. The client should continue making future requests to the new URL provided in the response's Location header field. This status code is commonly used for implementing website maintenance or when content needs to be served from a different location temporarily.

303

See Other

- Indicates that the requested resource can be found at a different URI.

- The client should make a new request to the provided URI.

- This status code is often used in response to POST requests, where redirecting helps prevent duplicate form submissions.

304

Not Modified

The 304 status code indicates that the client's cached version of a resource is still valid and can be used. It means that the requested resource has not been modified since it was last accessed or cached by the client. This allows servers to save bandwidth by indicating that there have been no changes, and clients can use their locally stored copy instead of downloading again.

305

Use Proxy

- The requested resource must be accessed through the proxy specified in the Location header.

- This status code is primarily used to redirect clients to an intermediary server, such as a caching or load-balancing server.

306

Switch Proxy (not used)

The 306 status code was used in a previous version of the HTTP protocol but is no longer used. It indicated that the requested resource should be accessed through a different URI using the GET method, with an optional Location header field specifying where to redirect.

307

Temporary Redirect

1. The 307 status code indicates that the requested resource has been temporarily moved to a different URL.

2. Unlike a 301 redirect, which is permanent, the client should continue using the original request method for future requests to this new URL.

3. This can be useful when you want to redirect users without changing their HTTP method (e.g., POST) or losing any data in transit.

4. It's important for clients and search engines to handle temporary redirects correctly as they may affect indexing and caching of pages.

308

Permanent Redirect

- Indicates that the target resource has been assigned a new permanent URI.

- The client should update its bookmarks and references to use the new URL in future requests.

- Unlike other redirect status codes, this code indicates that no further action is necessary on the part of the client.

500

Internal Server Error

- The server encountered an unexpected condition that prevented it from fulfilling the request.

- This status code is a generic error message, indicating something went wrong on the server's end and it was unable to handle the request properly.

- It can be caused by various factors such as misconfiguration, programming errors, or resource limitations.

- When encountering this status code, users should contact the website administrator for further assistance.

501

Not Implemented

The server does not support the functionality required to fulfill the request. This is typically a temporary condition and can occur when a new feature or service is being developed. The client should try again in the future, as it may become available at a later time.

502

Bad Gateway

The 502 status code indicates that a server acting as a gateway or proxy received an invalid response from an upstream server. It typically occurs when the upstream server is temporarily unavailable, overloaded, or experiencing issues. This error can also occur if there are DNS resolution problems between servers. Troubleshooting steps include checking network connections, verifying DNS settings, and contacting the website administrator for assistance.

503

Service Unavailable

The server is currently unable to handle the request due to a temporary overload or maintenance. This status code indicates that the server is temporarily unavailable and cannot process the client's request at this time. It may be overloaded, undergoing maintenance, or experiencing other issues. The client should retry their request later when the server might become available again.

504

Gateway Timeout

The 504 status code indicates that the server acting as a gateway or proxy did not receive a timely response from an upstream server. This can occur when there is high traffic on the upstream servers, network issues, or if the request takes too long to process. It usually means that there was no valid response within the timeout period set by the server.

505

HTTP Version Not Supported

The server does not support the HTTP protocol version used in the request. This status code is typically sent when a client uses an outdated or unsupported version of HTTP. To resolve this issue, the client should update its software to use a supported version of HTTP. It may also be necessary for the server administrator to upgrade their server software to support newer versions of HTTP.

506

Variant Also Negotiates

The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and therefore isn't a proper end point in the negotiation process.

507

Insufficient Storage

The 507 status code indicates that the server is unable to store the representation needed to complete the request. This can occur when there is not enough free space on the server's storage device or if allocating more storage would exceed a predefined limit. The client may need to remove some data or make use of alternative storage options before retrying their request.

508

Loop Detected

The HTTP status code '508' is a variant also known as 'Loop Detected'. It indicates that the server detected an infinite loop while processing the request. This typically occurs when a recursive algorithm or redirect loops are encountered in the server's logic. To resolve this issue, it is necessary to review and correct any faulty programming logic causing the loop.

510

Not Extended

The policy for accessing the requested resource has not been met in the server. This status code is typically used when a client needs to extend its capabilities but hasn't done so.

511

Network Authentication Required

The 511 status code indicates that the client needs to authenticate itself to gain network access. It is similar to a 401 Unauthorized response, but specifically related to network authentication rather than user authentication. This status code can be used by captive portals or other intermediary devices requiring users' credentials before granting internet access. The server may include additional information in the response body explaining how and where clients should provide their credentials.

Column 2

200

OK

The HTTP status code 200 indicates a successful request. It means that the server has successfully processed the client's request and is returning the requested resource or information. This status code is commonly used for GET requests, indicating that the response contains the requested data. Additionally, it can also be used for POST requests to indicate a successful creation of a new resource on the server.

201

Created

The HTTP status code 201 indicates that a request has been successfully fulfilled and a new resource has been created as a result. It is typically used in response to POST requests, indicating the successful creation of an entity on the server. The Location header field should be included in the response, specifying the URL of the newly created resource for further reference or interaction. This status code signifies that everything went well with creating a new resource.

202

Accepted

The 202 status code indicates that the request has been accepted for processing, but it is not yet complete. It may be used when a server needs more time to process the request or if there are dependencies on other actions being completed first. The client can continue to periodically check the status of the request using another endpoint or by including an identifier in subsequent requests.

203

Non-Authoritative Information

The 203 status code is used to indicate that the response received by the client comes from a source other than the original server. It means that while processing the request, an intermediary or proxy has modified or transformed it in some way before returning it back to the client. This can be useful for caching purposes and reducing network traffic between clients and servers.

204

No Content

The server successfully processed the request, but there is no content to return. This status code is typically used for DELETE and PUT requests where the response does not include a representation of the deleted or updated resource. It can also be used as a successful response for POST requests that result in an empty response body.

205

Reset Content

The server has fulfilled the request and requires that the user agent reset or reload the current document. This status code is typically used after performing actions like submitting a form, where it indicates to clear out any input fields and display an empty page. It does not require additional action from the client.

206

Partial Content

The server successfully fulfills a partial GET request. The response includes only the requested range of data, specified by the Range header field. This status code is typically used for resumable downloads or when requesting large files in chunks.

207

Multi-Status

The HTTP status code '207' indicates that the response is a multi-status message, providing multiple independent responses for different parts of the requested resource. It can be used in WebDAV protocols to indicate various statuses related to individual sub-requests within the overall request. The server should include an XML or JSON body with information about each separate status and its corresponding description.

208

Already Reported

The server has fulfilled the request and there is additional information available. This status code allows the client to retrieve meta-information about a response without having to send another request. It is typically used in conjunction with a Link header or an Alternates header, which provides links that may be followed by the user agent.

226

IM Used

The server has fulfilled a GET request for the resource, and the response is a representation of the result. The representation may contain multiple entities that are individually identified with separate URIs in one message body or as part of multipart media type. This status code allows an origin server to indicate that it has successfully applied content negotiation.

400

Bad Request

The HTTP status code '400 Bad Request' indicates that the server cannot process the client's request due to malformed syntax or invalid parameters. It is typically used when there are missing or incorrect input data, unsupported content types, or unauthorized requests. The client should review and modify their request before resubmitting it.

401

Unauthorized

The HTTP status code '401' indicates that the client must authenticate itself to get the requested response. It is typically used when access to a resource requires valid credentials, but either no credentials were provided or the provided ones are invalid. The server may include additional information in its response body explaining why authentication failed.

402

Payment Required

The 402 status code is a non-standard HTTP response that indicates the client must pay to access the requested resource. It was originally intended for use with digital payment systems, but it has not been widely adopted. This status code serves as a reminder or notification to users that they need to make a payment before accessing the content or service. If you encounter this status code, check if there are any instructions provided on how and where to make the required payment.

403

Forbidden

The 403 status code indicates that the server understood the request, but is refusing to fulfill it. This could be due to insufficient permissions or authentication issues. The client should not repeat the request without modifications.

404

Not Found

The HTTP status code 404 indicates that the requested resource could not be found on the server. It is commonly referred to as 'Not Found'. This error can occur due to various reasons such as a mistyped URL, deleted or moved content, or an issue with server configuration. When encountering a 404 error, it's important to check for any typos in the URL and ensure that the requested resource exists at its specified location.

405

Method Not Allowed

The server recognizes the request method used by the client, but it is not allowed for the requested resource. This status code indicates that the HTTP method (e.g., GET, POST) sent in the request is not supported or permitted for this particular endpoint. It may be necessary to check if a different HTTP method should be used or verify permissions and access rights.

406

Not Acceptable

The 406 status code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's headers. This typically occurs when there is an issue with content negotiation, where the client requests specific media types or languages but none are available from the server. To resolve this error, either modify your request to include acceptable values or check if alternative representations are available.

407

Proxy Authentication Required

The 407 status code indicates that the client must authenticate itself with a proxy server before making further requests. This is similar to a 401 Unauthorized response, but it specifically refers to authentication for accessing proxies rather than the requested resource directly. The client should include an appropriate `Proxy-Authorization` header in subsequent requests to successfully complete the authentication process and access the desired resource through the proxy server.

408

Request Timeout

The 408 status code indicates that the server did not receive a complete request from the client within the time period it was prepared to wait. This can happen if there are network issues or if the client takes too long to send all necessary data for processing. It is important for clients to ensure timely and complete transmission of requests, and servers may include additional information in response headers indicating how long they are willing to wait before timing out.

409

Conflict

The 409 status code indicates that the request could not be completed due to a conflict with the current state of the target resource. This typically occurs when there is a versioning or concurrency issue, where multiple clients are attempting to modify the same resource simultaneously. The client should resolve this conflict by either modifying their request or contacting the server administrator for further assistance.

410

Gone

The 410 status code indicates that the requested resource is no longer available and will not be accessible again. It differs from a 404 error, which means the server cannot find the requested resource but it may become available in the future. The client should update its bookmarks or remove references to this URL as it won't work anymore. This status code can also be used when content has been intentionally removed by website administrators.

411

Length Required

The HTTP 411 Length Required status code indicates that the server refuses to accept the request without a valid Content-Length header. This typically occurs when making POST or PUT requests where the content length is required for processing. To resolve this error, ensure you include a valid Content-Length header with an appropriate value in your request headers.

412

Precondition Failed

The server does not meet the preconditions specified in the request headers. This status code is typically used when a client sends conditional header fields, such as If-Match or If-None-Match, and those conditions are not met by the server. It indicates that further action needs to be taken by the client before making another request.

413

Payload Too Large

The server is refusing to process the request because the payload size exceeds its limitations. This typically occurs when attempting to upload a file or send data that surpasses the maximum allowed size. To resolve this, you can either reduce the payload size by compressing or optimizing your content, or adjust server configurations to accommodate larger payloads if necessary.

414

URI Too Long

The server is refusing to service the request because the requested URI (Uniform Resource Identifier) is too long. This typically occurs when a client sends a GET request with a URL that exceeds the maximum length allowed by the server. To resolve this issue, clients can try shortening or truncating the URL, using POST instead of GET for large data payloads, or utilizing other methods like sending parameters in headers.

415

Unsupported Media Type

The server refuses to accept the request because the media type of the requested resource is not supported. This typically occurs when a client sends data in an unsupported format or without specifying a valid Content-Type header. To resolve this, ensure that you are sending data in a supported format and include the appropriate Content-Type header with your request.

416

Range Not Satisfiable

The server cannot fulfill the partial GET request because it is outside of the range specified in the 'Range' header field. This status code is typically returned when a client requests a specific portion of a file, but that portion does not exist or is invalid. The client can modify its request to include valid ranges and try again.

417

Expectation Failed

The 417 status code indicates that the server cannot meet the requirements specified in the client's 'Expect' header field. This typically occurs when a request expects certain conditions to be met by the server, but those conditions are not fulfilled. The response may include an explanation or suggestions for alternative actions.

418

I'm a teapot

The HTTP status code 418 is an April Fools' joke created by the Hyper Text Coffee Pot Control Protocol (HTCPCP) in 1998. It indicates that the server refuses to brew coffee because it is, in fact, a teapot and not capable of brewing coffee. This status code serves as a humorous reminder that servers can return any valid HTTP response codes.

421

Misdirected Request

The server is unable to process the request due to a misdirected client. This status code indicates that the request was sent to a server that is not able or willing to respond, and instead should be retried on another appropriate server. It can occur when there are issues with DNS configuration or load balancing.

422

Unprocessable Entity

The 422 status code is used to indicate that the server understands the content type of the request, but was unable to process it. This can occur when there are validation errors or missing required fields in a form submission. The response body may contain more specific information about what went wrong and how to fix it.

423

Locked

The HTTP status code '423' indicates that the resource being accessed is locked and cannot be accessed at the moment. This typically occurs when a user tries to access a resource that has been temporarily or permanently locked by an administrator or another process. The client should retry the request after some time, as specified in the response's 'Retry-After' header if provided. It is important for clients to respect this lock and not attempt unauthorized access.

424

Failed Dependency

The server failed to perform the request because it relies on another action that has not yet been completed. This status code is typically used in WebDAV applications where a previous operation must be completed before the current one can proceed. The client should retry or wait for the dependent action to finish.

425

Too Early

The HTTP 425 status code indicates that the server is unwilling to risk processing a request before it has received more information. This status code may be used in early-stage protocols where the client needs to send additional data or complete authentication before proceeding with the request. It informs the client that it should retry sending its request at a later time, after fulfilling certain conditions specified by the server.

426

Upgrade Required

The HTTP status code '426' indicates that the client should switch to a different protocol, such as upgrading from HTTP/1.1 to WebSocket. This response is typically used when the server requires an upgrade in order for the request to be fulfilled successfully. The client can then make another request using the upgraded protocol specified by the server.

428

Precondition Required

The 428 status code indicates that the server requires the request to be conditional. It is typically used when a client needs to include certain conditions in their request headers, such as an 'If-Match' or 'If-None-Match' header, for successful processing of the request. This status code helps prevent data loss and conflicts by ensuring that requests are made with appropriate preconditions met.

429

Too Many Requests

The 429 status code indicates that the user has sent too many requests in a given amount of time. It is often used to protect against abuse or spamming by limiting the number of requests allowed per client. The response may include information on how long the user should wait before making another request (via 'Retry-After' header). This status code falls under the category of server errors (5xx) and can be encountered when accessing APIs, web services, or websites with rate limits.

431

Request Header Fields Too Large

The server is unwilling to process the request because its header fields are too large. The client should reduce the size of the request headers before resubmitting.

- This status code helps prevent denial-of-service attacks by limiting excessive use of resources due to oversized headers.

- It can occur when a user agent sends an HTTP request with header fields that exceed server limitations or configured thresholds.

- To resolve this, clients need to modify their requests and ensure they comply with server limits.

451

Unavailable For Legal Reasons

This indicates that the server refuses to fulfill the request due to legal reasons, such as censorship or government-mandated blocking of content. This status code was introduced in response to various internet censorship efforts around the world and serves as a reminder of free speech rights online.

https://www.cheatrepo.com/sheet/HTTP-status-codes-4c7196
Last Updated: Sat Mar 15 2025

Press space bar to start a drag. When dragging you can use the arrow keys to move the item around and escape to cancel. Some screen readers may require you to be in focus mode or to use your pass through key