RefTables

HTTP Status Codes Reference

HTTP Status Codes

HTTP status codes are three-digit integers returned by web servers to describe the result of a client's request. They are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirects), 4xx (client errors), and 5xx (server errors).

Source: IETF RFC 9110 (HTTP Semantics) and related RFCs. IETF standards are public domain.

CodeNameDescription
100Continue 1xxThe server has received the request headers and the client should proceed.
101Switching Protocols 1xxThe server agrees to switch protocols as requested by the client (e.g., HTTP to WebSocket).
200OK 2xxStandard success response. The request was successful.
201Created 2xxThe request was fulfilled and a new resource was created.
202Accepted 2xxThe request has been accepted for processing, but not yet completed.
204No Content 2xxThe server fulfilled the request but returns no body.
206Partial Content 2xxThe server is delivering only part of the resource (range requests).
301Moved Permanently 3xxThe resource has been permanently moved to a new URL.
302Found 3xxThe resource is temporarily at a different URL.
304Not Modified 3xxThe resource has not changed since the last request (cache valid).
307Temporary Redirect 3xxTemporary redirect; the client must use the same method for the new request.
308Permanent Redirect 3xxPermanent redirect; the client must use the same method for the new request.
400Bad Request 4xxThe server cannot process the request due to a client error (e.g., malformed syntax).
401Unauthorized 4xxAuthentication is required and has failed or has not been provided.
403Forbidden 4xxThe server understood the request but refuses to authorize it.
404Not Found 4xxThe requested resource could not be found on this server.
405Method Not Allowed 4xxThe HTTP method used is not allowed for the requested resource.
408Request Timeout 4xxThe server timed out waiting for the request.
409Conflict 4xxThe request conflicts with the current state of the server.
410Gone 4xxThe resource has been permanently deleted and will not be available again.
413Content Too Large 4xxThe request body is larger than the server is willing to process.
414URI Too Long 4xxThe URI provided was too long for the server to process.
415Unsupported Media Type 4xxThe media type of the request body is not supported by the server.
422Unprocessable Content 4xxThe server understands the content type but the request entity has semantic errors.
429Too Many Requests 4xxThe client has sent too many requests in a given time period (rate limiting).
500Internal Server Error 5xxThe server encountered an unexpected condition that prevented it from fulfilling the request.
501Not Implemented 5xxThe server does not support the functionality required to fulfill the request.
502Bad Gateway 5xxThe server, while acting as a gateway, received an invalid response from an upstream server.
503Service Unavailable 5xxThe server is not ready to handle the request (overloaded or down for maintenance).
504Gateway Timeout 5xxThe server, acting as a gateway, did not receive a response in time from an upstream server.

What does a 2xx status code mean?

2xx codes indicate that the request was successfully received, understood, and accepted. 200 OK is the most common, meaning the request succeeded. 201 Created means a new resource was created as a result of the request.

What is the difference between 301 and 302?

Both are redirects: 301 (Moved Permanently) tells browsers and search engines that the resource has moved forever - they should update their bookmarks and SEO ranking. 302 (Found) is a temporary redirect - the client should continue to use the original URL for future requests.

What causes a 500 Internal Server Error?

A 500 error means the server encountered an unexpected condition that prevented it from fulfilling the request. It is a catch-all for server-side errors. Common causes include unhandled exceptions in application code, database connection failures, and misconfigured servers.

What is the difference between 401 and 403?

401 Unauthorized means authentication is required but missing or invalid - the user could potentially access the resource after providing valid credentials. 403 Forbidden means the server understands who the user is but has decided they are not allowed to access the resource regardless of credentials.