Look up every HTTP status code — meaning, details, and common use cases.
41 status codes
The server has received the request headers and the client should proceed to send the request body.
The server is switching protocols as requested by the client.
The server has received and is processing the request, but no response is available yet.
The server sends preliminary headers to allow the client to start preloading resources.
The request has succeeded.
The request has been fulfilled and a new resource has been created.
The request has been accepted for processing, but the processing has not been completed.
The request was successful but the response has been modified by a proxy.
The request was successful but there is no content to return.
The request was successful and the client should reset the document view.
The server is delivering only part of the resource due to a range request.
The request has more than one possible response.
The requested resource has been permanently moved to a new URL.
The requested resource is temporarily located at a different URL.
Directs the client to get the response at another URL using GET.
The cached resource is still valid and does not need to be retransmitted.
The resource is temporarily at another URL and the HTTP method must not change.
The resource is permanently at another URL and the HTTP method must not change.
The server cannot understand the request due to invalid syntax or malformed request.
Authentication is required and has failed or not been provided.
Payment is required to access this content.
The server understood the request but refuses to authorize it.
The requested resource could not be found on the server.
The request method is known by the server but is not supported for the target resource.
The server cannot produce a response matching the criteria in the request's Accept headers.
The client did not produce a request within the time that the server was prepared to wait.
The request conflicts with the current state of the server.
The requested resource is no longer available and will not be available again.
The request entity is larger than limits defined by the server.
The URI requested by the client is longer than the server is willing to interpret.
The media format of the requested data is not supported by the server.
The server refuses to brew coffee because it is a teapot. This is an April Fools joke.
The request is well-formed but contains semantic errors that prevent processing.
The user has sent too many requests in a given amount of time (rate limiting).
The resource is unavailable due to legal demands.
The server encountered an unexpected condition that prevented it from fulfilling the request.
The server does not support the functionality required to fulfill the request.
The gateway or proxy server received an invalid response from the upstream server.
The server is temporarily unable to handle requests due to overload or maintenance.
The gateway or proxy server did not receive a timely response from the upstream server.
The HTTP version used in the request is not supported by the server.
HTTP status codes are 3-digit numbers returned by the server in response to a client's HTTP request. The first digit indicates the response category: 1xx (Informational), 2xx (Success), 3xx (Redirection), 4xx (Client Error), and 5xx (Server Error).
404 (Not Found) means the resource cannot be found — it may be temporary or permanent. 410 (Gone) explicitly states the resource has been permanently removed and will not return. From an SEO perspective, 410 signals search engines to remove the URL from their index more aggressively than 404.
301 (Moved Permanently) transfers the SEO authority of the old URL to the new one and is cached by browsers. 302 (Found/Temporary) keeps the original URL valid without caching the new URL. Always use 301 for permanent URL changes.
400 (Bad Request) means the request itself is malformed or missing required parameters. 401 (Unauthorized) means authentication is required or the credentials provided are invalid. 403 (Forbidden) means access is denied regardless of authentication — even logging in will not grant access.
502 (Bad Gateway) means the proxy/gateway received an invalid response from the upstream server. 504 (Gateway Timeout) means the proxy/gateway did not receive a timely response — it timed out. Both indicate infrastructure issues, but 504 is specifically a timeout.
Everything you need to know about HTTP status codes for web development and API design.
Using the correct HTTP status codes in RESTful API design is crucial for clear communication with clients. For example, returning 201 on resource creation, 204 on successful deletion, and 422 on validation failure helps clients accurately interpret responses and handle them appropriately.
HTTP status codes have a direct impact on search engine optimization (SEO). A 301 redirect passes the SEO authority of the old URL to the new one. A 404 indicates a missing page, while a 410 explicitly signals a permanent removal, prompting search engines to deindex the URL faster.