HTTP Status Lookup
Search and discover HTTP status codes and their meanings
Learn more
The server has received the request headers and the client should proceed to send the request body.
Learn more
The requester has asked the server to switch protocols and the server has agreed to do so. Often used for WebSockets.
Learn more
The server has received and is processing the request, but no response is available yet.
Learn more
Used to return some response headers before final HTTP message.
Learn more
The standard response for successful HTTP requests. The actual response will depend on the request method used (GET, POST, etc.).
How to handle: No action needed. The request succeeded.
Learn more
The request has been fulfilled, resulting in the creation of a new resource.
How to handle: Often returned by POST requests. Look for a Location header for the new resource URL.
Learn more
The request has been accepted for processing, but the processing has not been completed.
Learn more
The server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the origin's response.
Learn more
The server successfully processed the request and is not returning any content.
How to handle: Commonly used for DELETE requests or when a client doesn't need to navigate away from the current page.
Learn more
The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
Learn more
The server is delivering only part of the resource due to a range header sent by the client. Common for video streaming.
Learn more
The message body that follows is by default an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.
Learn more
The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
Learn more
The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
Learn more
Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation).
Learn more
This and all future requests should be directed to the given URI.
How to handle: Update any bookmarks or links to use the new URL. Search engines will transfer SEO ranking to the new destination.
SEO Impact
A 301 redirect is permanent. It tells search engines that the page has permanently moved to a new location. This is highly beneficial for SEO because it passes approximately 90-99% of link equity (ranking power) to the redirected page. Always use 301s instead of 302s when restructuring a website.
Learn more
Tells the client to look at (browse to) another URL. The HTTP method may change to GET.
How to handle: Often used for temporary redirects. If it is permanent, use 301 instead.
SEO Impact
A 302 redirect is temporary. It tells search engines to keep the old URL indexed because the move is not permanent. Using a 302 for a permanent move is a common SEO mistake, as it will not pass the link equity (ranking power) to the new destination.
Learn more
The response to the request can be found under another URI using the GET method.
Learn more
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match.
How to handle: The client should use its cached version of the resource to save bandwidth.
Learn more
The requested resource is available only through a proxy, the address for which is provided in the response.
Learn more
In this case, the request should be repeated with another URI; however, future requests should still use the original URI. The HTTP method must not change.
Learn more
The request and all future requests should be repeated using another URI. 308 parallels the behavior of 301, but does not allow the HTTP method to change.
How to handle: Use this instead of 301 if you need to guarantee that POST requests remain POST requests after the redirect.
Learn more
The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing).
How to handle: Check the syntax of your request, verify API parameters, and ensure JSON bodies are properly formatted.
Learn more
Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.
How to handle: Ensure you are sending the correct Authentication headers (e.g., Bearer tokens, API keys) with your request.
Learn more
Reserved for future use. Originally intended to be used as part of a digital cash or micropayment scheme.
Learn more
The request contained valid data and was understood by the server, but the server is refusing action.
How to handle: This usually means you are authenticated, but you do not have permission/authorization to access this specific resource.
Learn more
The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.
How to handle: Verify the URL path is correct. If this is an API, ensure the resource ID exists.
SEO Impact
A 404 error means the page no longer exists. For SEO, encountering many 404s can signal a poorly maintained site to crawlers, leading to lower crawl budgets. You should implement 301 redirects for deleted pages that have relevant alternatives, or return a 410 (Gone) if the page is permanently deleted with no replacement.
Learn more
A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST.
How to handle: Check which HTTP method (GET, POST, PUT, DELETE) the endpoint actually supports.
Learn more
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.
Learn more
The client must first authenticate itself with the proxy.
Learn more
The server timed out waiting for the request.
Learn more
Indicates that the request could not be processed because of conflict in the current state of the resource.
How to handle: Commonly occurs in POST/PUT requests when creating a duplicate record or updating a stale resource (e.g., edit collisions).
Learn more
Indicates that the resource requested is no longer available and will not be available again. Better than 404 for SEO when a page is intentionally deleted.
SEO Impact
The 410 status is explicitly for permanently removed resources. Search engines treat 410s differently than 404s. While a 404 tells a crawler 'I can't find this right now, try again later', a 410 says 'This is gone forever, remove it from your index'. Use this to quickly de-index deleted pages.
Learn more
The request did not specify the length of its content, which is required by the requested resource.
Learn more
The server does not meet one of the preconditions that the requester put on the request header fields.
Learn more
The request is larger than the server is willing or able to process.
Learn more
The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request.
Learn more
The request entity has a media type which the server or resource does not support.
Learn more
The client has asked for a portion of the file, but the server cannot supply that portion.
Learn more
The server cannot meet the requirements of the Expect request-header field.
Learn more
An April Fools' joke defined in RFC 2324. Indicates the server refuses to brew coffee because it is, permanently, a teapot.
Learn more
The request was directed at a server that is not able to produce a response.
Learn more
The request was well-formed but was unable to be followed due to semantic errors.
How to handle: Usually means your JSON was valid, but a required field was missing or a validation rule failed (e.g. invalid email format).
Learn more
The resource that is being accessed is locked.
Learn more
The request failed because it depended on another request and that request failed.
Learn more
Indicates that the server is unwilling to risk processing a request that might be replayed.
Learn more
The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field.
Learn more
The origin server requires the request to be conditional.
Learn more
The user has sent too many requests in a given amount of time (rate limiting).
How to handle: Implement exponential backoff in your code. Look for a "Retry-After" header indicating how long to wait before trying again.
SEO Impact
The 429 status prevents abuse via rate-limiting. For SEO, if a crawler (like Googlebot) receives a 429, it will slow down its crawl rate for your site. This can prevent new content from being indexed quickly. Ensure your server returns a 'Retry-After' header so the bot knows when to safely return.
Learn more
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
Learn more
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.
Learn more
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
How to handle: Check server logs for stack traces. This is usually caused by unhandled exceptions, syntax errors, or database connection failures.
SEO Impact
A 500 Internal Server Error is a generic catch-all for backend crashes. Frequent 500 errors are catastrophic for SEO. If search engines repeatedly encounter 500s, they assume your site is unstable and will aggressively reduce their crawl rate and potentially drop your rankings.
Learn more
The server either does not recognize the request method, or it lacks the ability to fulfill the request.
Learn more
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
How to handle: Often occurs in reverse proxy setups (Nginx, HAProxy) when the backend application server crashes or restarts.
Learn more
The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.
How to handle: If you are the administrator, scale up resources or wait for maintenance to finish.
SEO Impact
A 503 means Service Unavailable, typically due to maintenance. This is the safest way to take your site offline for SEO. Googlebot understands a 503 means 'come back later'. Always pair this with a 'Retry-After' header to explicitly tell crawlers when the maintenance will be over.
Learn more
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
How to handle: Occurs when a backend process takes too long (e.g. slow database query). Increase proxy timeouts or optimize the backend process.
Learn more
The server does not support the HTTP protocol version used in the request.
Learn more
Transparent content negotiation for the request results in a circular reference.
Learn more
The server is unable to store the representation needed to complete the request.
Learn more
The server detected an infinite loop while processing the request.
Learn more
Further extensions to the request are required for the server to fulfill it.
Learn more
The client needs to authenticate to gain network access. Intended for use by intercepting proxies used to control access to the network.
About HTTP Status Codes
HTTP status codes are issued by a server in response to a client's request made to the server. They provide critical feedback about whether a specific HTTP request has been successfully completed, and if not, why it failed.
The codes are grouped into five classes: Informational (1xx), Successful (2xx), Redirection (3xx), Client Error (4xx), and Server Error (5xx).