HTTP Status Code Reference

HTTP Status Code Reference

Complete HTTP status code reference — all 1xx, 2xx, 3xx, 4xx, and 5xx codes explained with meanings, use cases, and SEO impact.

Updated May 2026

100 INFO

Continue

The server has received the request headers and the client should proceed to send the request body.

101 INFO

Switching Protocols

The server agrees to switch protocols as requested by the client via the Upgrade header.

102 INFO

Processing

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

103 INFO

Early Hints

Used to return response headers before the final HTTP message, allowing the browser to start preloading resources.

200 SUCCESS

OK

The request succeeded. The server returned the requested resource. Required for a page to be indexed by Google.

201 SUCCESS

Created

The request succeeded and a new resource was created. Commonly used in REST APIs after a POST request.

202 SUCCESS

Accepted

The request has been accepted for processing, but processing has not been completed yet.

203 SUCCESS

Non-Authoritative Information

The request succeeded but the returned metadata is from a local or third-party copy, not the origin server.

204 SUCCESS

No Content

The request succeeded but there is no content to return. Common for DELETE or PATCH API responses.

205 SUCCESS

Reset Content

The server fulfilled the request and asks the client to reset the document view (e.g., clear a form).

206 SUCCESS

Partial Content

The server is delivering only part of the resource due to a Range header. Used in streaming and resumable downloads.

207 SUCCESS

Multi-Status

Conveys information about multiple resources in situations where multiple status codes might be appropriate. Used in WebDAV.

208 SUCCESS

Already Reported

The members of a DAV binding have already been enumerated in a preceding part of the response.

226 SUCCESS

IM Used

The server fulfilled a GET request and the response is a representation of the result of one or more instance-manipulations.

300 REDIRECT

Multiple Choices

The request has more than one possible response. The user agent or user should choose one.

301 REDIRECT

Moved Permanently

The resource has permanently moved to a new URL. Passes full link equity — use for all permanent redirects and HTTPS migrations.

302 REDIRECT

Found

The resource has temporarily moved. Google passes signals through 302s but use 301 for permanent moves to avoid canonical confusion.

303 REDIRECT

See Other

The server redirects the client to a different resource using a GET request. Often used after a POST to prevent form resubmission.

304 REDIRECT

Not Modified

The resource has not changed since the last request. The browser should use its cached version. Reduces bandwidth on repeat visits.

307 REDIRECT

Temporary Redirect

Like 302, but explicitly preserves the HTTP method. Use when method preservation is required for temporary redirects.

308 REDIRECT

Permanent Redirect

Like 301, but preserves the HTTP method. Used in APIs that need to permanently redirect POST requests.

400 CLIENT ERROR

Bad Request

The server cannot process the request due to malformed syntax or invalid parameters. Common in APIs with missing or invalid fields.

401 CLIENT ERROR

Unauthorized

Authentication is required and has not been provided or is invalid. Means "Who are you?" — not to be confused with 403.

402 CLIENT ERROR

Payment Required

Reserved for future use. Originally intended for digital payment systems; now used by some APIs to signal quota limits.

403 CLIENT ERROR

Forbidden

The server understood the request but refuses to authorize it. The client is known but lacks permission. Distinct from 401.

404 CLIENT ERROR

Not Found

The server cannot find the requested resource. The most common error on the web. Redirect important 404 pages with a 301.

405 CLIENT ERROR

Method Not Allowed

The HTTP method used is not allowed for the requested resource. The response must include an Allow header listing valid methods.

406 CLIENT ERROR

Not Acceptable

The server cannot produce a response matching the list of acceptable values in the request's Accept headers.

407 CLIENT ERROR

Proxy Authentication Required

Authentication with the proxy server is required before the request can be fulfilled.

408 CLIENT ERROR

Request Timeout

The server timed out waiting for the request. The client may repeat the request without modifications.

409 CLIENT ERROR

Conflict

The request conflicts with the current state of the target resource. Common when trying to create a duplicate record.

410 CLIENT ERROR

Gone

The resource is permanently removed and will not return. Stronger removal signal than 404 — Google processes 410 faster for URL de-indexing.

411 CLIENT ERROR

Length Required

The server refuses to accept the request without a defined Content-Length header.

412 CLIENT ERROR

Precondition Failed

The server does not meet one or more preconditions set in the request headers.

413 CLIENT ERROR

Content Too Large

The request body is larger than the server is willing to process. The server may close the connection.

414 CLIENT ERROR

URI Too Long

The URI requested by the client is longer than the server is willing to interpret.

415 CLIENT ERROR

Unsupported Media Type

The media format of the requested data is not supported by the server. Check the Content-Type header.

416 CLIENT ERROR

Range Not Satisfiable

The server cannot serve the requested ranges. The Range header field value is outside the resource's actual size.

417 CLIENT ERROR

Expectation Failed

The server cannot meet the expectations indicated by the Expect request-header field.

418 CLIENT ERROR

I'm a Teapot

The server refuses to brew coffee because it is, permanently, a teapot. An April Fools' joke from RFC 2324 (1998), now a web easter egg.

421 CLIENT ERROR

Misdirected Request

The request was directed at a server that is not able to produce a response for the combination of scheme and authority.

422 CLIENT ERROR

Unprocessable Content

The request is syntactically valid but semantically incorrect. Common in REST APIs with strict field validation.

423 CLIENT ERROR

Locked

The resource being accessed is locked. Used in WebDAV to indicate the resource is locked.

424 CLIENT ERROR

Failed Dependency

The request failed because it depended on another request that failed. Used in WebDAV.

425 CLIENT ERROR

Too Early

The server is unwilling to risk processing a request that might be replayed, to prevent replay attacks.

426 CLIENT ERROR

Upgrade Required

The client should switch to a different protocol. The server sends an Upgrade header indicating the required protocol.

428 CLIENT ERROR

Precondition Required

The origin server requires the request to be conditional. Prevents the "lost update" problem in REST APIs.

429 CLIENT ERROR

Too Many Requests

The client has sent too many requests in a given time (rate limiting). If Googlebot receives 429s, crawl budget is reduced.

431 CLIENT ERROR

Request Header Fields Too Large

The server refuses to process the request because its header fields are too large.

451 CLIENT ERROR

Unavailable For Legal Reasons

The server cannot legally provide the requested resource. Named after Fahrenheit 451. Used for censorship or legal blocks.

500 SERVER ERROR

Internal Server Error

A generic server-side failure. Persistent 500s cause Google to lower crawl frequency and may trigger de-indexing. Monitor in Search Console.

501 SERVER ERROR

Not Implemented

The server does not support the functionality required to fulfill the request. The method is not recognized or implemented.

502 SERVER ERROR

Bad Gateway

The server received an invalid response from an upstream server. Common with Nginx or Cloudflare when the app server crashes or is overloaded.

503 SERVER ERROR

Service Unavailable

The server is temporarily unavailable — overloaded or under maintenance. Include a Retry-After header to prevent Google de-indexing.

504 SERVER ERROR

Gateway Timeout

The gateway did not receive a timely response from the upstream server. Common when a database query or API call takes too long.

505 SERVER ERROR

HTTP Version Not Supported

The server does not support the HTTP version used in the request.

506 SERVER ERROR

Variant Also Negotiates

The server has an internal configuration error: the chosen variant resource is configured to engage in content negotiation itself.

507 SERVER ERROR

Insufficient Storage

The server cannot store the representation needed to complete the request. Used in WebDAV.

508 SERVER ERROR

Loop Detected

The server detected an infinite loop while processing the request. Used in WebDAV.

510 SERVER ERROR

Not Extended

Further extensions to the request are required for the server to fulfill it.

511 SERVER ERROR

Network Authentication Required

The client needs to authenticate to gain network access. Used by captive portals (hotel Wi-Fi, etc.) to intercept HTTP requests.

HTTP Status Code Reference — Complete Guide for Developers and SEOs

Every HTTP response comes with a three-digit status code that tells the client — and search engine crawlers like Googlebot — exactly what happened with the request. Whether you are debugging a 502 bad gateway error, deciding whether to use 301 or 302, or designing a REST API response, this reference gives you the meaning, use cases, and practical notes for every code.

Search by code number or keyword, or filter by class using the buttons above.

HTTP Status Code Classes — What the First Digit Means

The first digit of every status code defines its class. Understanding the five classes is the fastest way to triage any HTTP error:

Class Range Meaning SEO Impact
1xx 100–199 Informational — request received, processing continues Minimal — rarely seen by crawlers
2xx 200–299 Success — request completed successfully Critical: 200 required for indexing
3xx 300–399 Redirection — further action needed High: 301 passes link equity; 302 does not consolidate
4xx 400–499 Client error — bad request or not found High: 404/410 remove pages from the index
5xx 500–599 Server error — server failed the request High: persistent 5xx triggers crawl reduction and de-indexing

Most Important HTTP Status Codes Explained

2xx — Success Codes

200 OK is the baseline. The request succeeded and the server returned the requested resource. This is the only status code that makes a page eligible for Google indexing. Watch for "soft 404s" — pages that return 200 but display empty or error-like content, which Google treats as missing pages that waste crawl budget.

201 Created is the correct response after a successful POST request that created a new resource in a REST API. Not seen by web crawlers on public HTML pages.

204 No Content signals success with no body to return. Use it in DELETE and PATCH API endpoints when you do not need to return updated data.

3xx — Redirect Codes

301 Moved Permanently is the permanent redirect. It consolidates ranking signals — including link equity and PageRank — from the old URL to the new one. Use it for URL restructures, domain changes, HTTP-to-HTTPS migrations, and any scenario where the old URL will never return. 301 redirects are cached aggressively by browsers — test carefully before deploying at scale.

302 Found is the temporary redirect. Google passes ranking signals through 302s in its current implementation, but leaving a 302 in place long-term prevents Google from updating its index and creates canonical ambiguity. Use 302 for A/B tests, geo-based redirects, and seasonal promotion pages.

304 Not Modified tells the browser to serve its cached version. The resource has not changed since the last request. This reduces bandwidth and speeds up repeat visits with no negative SEO impact.

4xx — Client Error Codes

401 Unauthorized means authentication is required and has not been provided or is invalid. The user needs to log in or provide an API key. Not the same as 403 — 401 means "Who are you?" while 403 means "I know who you are, and you cannot come in."

403 Forbidden means the server understood the request but refuses to authorize it. The client's identity is known but lacks permission. From an SEO perspective, Googlebot receiving a 403 on a previously indexed page may eventually cause that page to drop from search results.

404 Not Found is the most common error on the web. A moderate number of 404s is normal — they only become a problem when important pages return 404 without being redirected, wasting link equity. Redirect high-value 404s with a 301 to the most relevant alternative.

410 Gone is the permanent removal signal. Stronger and faster than 404 — Google processes 410 for URL removal much more quickly than 404. Use it when you intentionally retire content that will never return.

429 Too Many Requests signals rate limiting. If Googlebot receives 429 responses, it slows its crawl rate, reducing your crawl budget. Implement rate limiting carefully and ensure crawlers are not aggressively throttled.

5xx — Server Error Codes

500 Internal Server Error is a generic server failure. Monitor for 500s in Google Search Console — persistent 500s on a URL cause Google to lower crawl frequency and may trigger de-indexing.

502 Bad Gateway means the server received an invalid response from an upstream server. Common with Nginx or Cloudflare when the application server is down, crashed, or overloaded after a failed deployment.

503 Service Unavailable means the server is temporarily unavailable. Always include a Retry-After header so Google knows when to re-crawl. Without it, persistent 503s can trigger de-indexing. This is the correct code to return during planned maintenance.

504 Gateway Timeout means the gateway did not receive a timely response from the upstream server. Common root cause: a slow database query, a hanging API call, or a background job that exceeds the request timeout.

301 vs 302 — When to Use Each

Scenario Use Reason
Page moved permanently 301 Passes full link equity to new URL
HTTPS migration 301 Permanent — consolidates ranking signals
Domain change 301 Permanent — preserves rankings
A/B test 302 Temporary — keeps original URL canonical
Seasonal promotion 302 Temporary — original URL returns after promo
Geo-based redirect 302 Temporary — varies by user location
Maintenance page 503 + Retry-After Not a redirect — server temporarily down

Frequently Asked Questions

What is the difference between a 404 and a 410 HTTP status code?

Both 404 Not Found and 410 Gone tell the browser and search engine crawlers that a page is unavailable. The key difference is permanence and intent. A 404 means the server cannot find the resource — it may exist again in the future. A 410 explicitly declares the resource is permanently removed and will not return. From an SEO perspective, Google processes 410 faster than 404 for URL removal — use 410 when you intentionally retire content and want it removed from Google's index as quickly as possible.

What is the difference between 401 Unauthorized and 403 Forbidden?

Both codes indicate access is denied, but for different reasons. 401 Unauthorized means the client has not authenticated — the server does not know who you are and you need to provide credentials (log in or supply an API key). 403 Forbidden means the server knows who you are but refuses access — you are authenticated but lack permission to view that resource. Think of it as: 401 = "Who are you?", 403 = "I know who you are, but you cannot come in."

Does a 301 redirect pass SEO value (link equity) to the new URL?

Yes. A 301 Moved Permanently redirect consolidates ranking signals — including link equity, PageRank, and indexing authority — from the old URL to the new one. Google has confirmed that 301 redirects pass full link equity, though redirect chains (multiple hops) may cause a small amount of signal loss. A 302 Found also passes signals in Google's current implementation, but 301 is always the safer choice for permanent moves.

How do HTTP status codes affect Google crawling and indexing?

Status codes directly determine how Googlebot treats each URL. A 200 OK makes a page eligible for indexing. A 301 tells Google to update its index to the new URL and transfer link equity. A 404 or 410 tells Google the page is gone — it will eventually be removed from the index. A 503 with a Retry-After header tells Google to try again later without de-indexing. Persistent 5xx errors cause Google to reduce crawl frequency and eventually de-index affected pages. A 429 response throttles Googlebot, reducing how many pages it can crawl per day.

What is a "soft 404" and why is it an SEO problem?

A soft 404 occurs when a page returns 200 OK but displays content that looks like an error page — an empty result, "no products found," or a generic "page not available" message. Google detects these visually and treats them like real 404s, classifying the URL as missing content. This wastes crawl budget and prevents the page from being indexed or ranked. The fix is to either return a genuine 404 or 410 status code, or populate the page with real, meaningful content.

Resources

Related Tools