ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://www.hostinger.com/tutorials/http-status-codes |
| Last Crawled | 2026-04-08 20:13:28 (1 day ago) |
| First Indexed | 2021-11-06 17:54:25 (4 years ago) |
| HTTP Status Code | 200 |
| Meta Title | HTTP status codes: full list and explanations |
| Meta Description | HTTP status codes indicate the status of a browser's request. Learn all 63 status codes here and their impact on SEO here. |
| Meta Canonical | null |
| Boilerpipe Text | Oct 27, 2025
/
Jordana A.
/
13min read
HTTP response codes are three-digit numbers sent by a server to indicate the status of a browser’s request. Managed by the Internet Assigned Numbers Authority (IANA), these codes help identify whether a request was successful, redirected, or resulted in an error.
If you’re managing a website, understanding these codes is useful for diagnosing site issues, minimizing downtime, and optimizing SEO. Keep reading as we cover 63 HTTP status codes, their meanings, and how to monitor them.
HTTP status code categories
When identifying an HTTP status code, focus on the first digit to determine its category. The last two digits provide specific details within that category.
The
Internet Engineering Task Force (IETF)
standardized HTTP status codes into five categories based on the server’s response to the browser:
1XX (informational)
– the server received the HTTP request and will continue the process. Status codes within this category are temporary, so they aren’t visible to the client.
2XX (success)
– the server received, understood, and processed the request.
3XX (redirection)
– the server received the request, but the requested content has moved. Therefore, it will redirect the client to another location.
4XX (client error)
– the server couldn’t complete the request because of a client-side issue, such as an authorization problem. The response explains whether the issue is temporary or permanent.
5XX (server error)
– a server-side issue prevents the request from being processed. Like 4XX, the response specifies if it’s a temporary or permanent issue.
Complete list of HTTP status codes and explanation
Here is the complete list of HTTP status codes from IEFT documentation:
Status codes
Functions
1XX Informational
100
Continue
101
Switching Protocols
102
Processing
103
Early Hints
2XX Successful
200
OK
201
Created
202
Accepted
203
Non-Authoritative Information
204
No Content
205
Reset Content
206
Partial Content
207
Multi-Status
208
Already Reported
226
IM Used
3XX Redirection
300
Multiple Choices
301
Moved Permanently
302
Found
303
See Other
304
Not Modified
307
Temporary Redirect
308
Permanent Redirect
4XX Client Error
400
Bad Request
401
Unauthorized
402
Payment Required
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
407
Proxy Authentication Required
408
Request Timeout
409
Conflict
410
Gone
411
Length Required
412
Precondition Failed
413
Content Too Large
414
URI Too Long
415
Unsupported Media Type
416
Range Not Satisfiable
417
Expectation Failed
418
I’m a Teapot
421
Misdirected Request
422
Unprocessable Entity
423
Locked
424
Failed Dependency
425
Too Early
426
Upgrade Required
428
Precondition Required
429
Too Many Requests
431
Request Header Fields Too Large
451
Unavailable for Legal Reasons
5XX Server Error
500
Internal Server Error
501
Not Implemented
502
Bad Gateway
503
Service Unavailable
504
Gateway Timeout
505
HTTP Version Not Supported
506
Variant Also Negotiates
507
Insufficient Storage
508
Loop Detected
510
Not Extended
511
Network Authentication Required
305 Use Proxy
and
306 Switch Proxy
have been deprecated but are still reserved.
Additionally, codes outside these categories may be unofficial, not yet adopted, or specific to certain platforms or services. For example, Cloudflare uses the
521 Web Server Is Down
status code for connection errors.
1XX – Informational HTTP status codes
100 Continue
This status code indicates that the server has received the initial part of the request. The client should continue sending the rest of the request and ignore this status code.
101 Switching Protocols
The server agrees to switch to the protocol specified in the
Upgrade
header. This response only happens if the change is beneficial.
102 Processing
The status code means that the server is still processing the request. It usually appears when a request takes a long time to complete.
103 Early Hints
This response code allows the browser to preload resources using the
Link
header while the server prepares the final response.
2XX – Successful HTTP status codes
200 OK
This status code indicates that the request has succeeded. However, the actual meaning of this response depends on the request method used (
GET
,
HEAD
,
POST
,
PUT
,
DELETE
,
OPTIONS
, or
TRACE
). We’ll dive into all the HTTP methods later in the article.
201 Created
This status code is a typical response sent after a
POST
or
PUT
method. It indicates that the server has completed the request and is creating one or more new resources, identified by a
Location
header or the target URI.
202 Accepted
The server has accepted the request but hasn’t processed it yet. This non-committal status allows the server to handle the request later without requiring the client to stay connected, making it ideal for batch processing.
203 Non-Authoritative Information
This status code means the request was successful, but a proxy modified the response data from the origin server. It’s commonly used when the server retrieves data from a cache or third-party source, notifying recipients of potential changes to the original content, like in backups or mirrored resources.
204 No Content
This status code means that the server successfully processed the request but has no content to send in the response. It’s used for actions that don’t require updating the browser’s current view.
205 Reset Content
The request was successful, and the client should reset the document view ‒ a notepad, form, or canvas ‒ to its default state.
206 Partial Content
This status code is sent when a client requests part of a resource using the
Range
header, which reduces bandwidth usage and improves performance.
It commonly happens when resuming interrupted downloads, streaming media files, handling large file transfers in chunks, and fetching specific data segments during synchronization.
207 Multi-Status
This status code provides the status of multiple resources in a single response. The XML message body typically includes a multi-status root element detailing each resource’s success, partial success, or failure.
208 Already Reported
This status code is used inside a
DAV:propstat
response element to avoid listing duplicate internal members of collections. Only one resource reports a
200 OK
status, while duplicates use
208
.
226 IM Used
The server successfully processed a
GET
request and applied one or more
instance manipulations
to the resource in the response.
3XX – Redirection HTTP status codes
300 Multiple Choices
This status code indicates that multiple responses are available, and the client must choose one.
For example, it can happen when a resource has multiple language versions, such as English and French. The response includes a list of options with resource details and locations. If the server has a preferred choice, it provides a
Location
header for automatic redirection.
301 Moved Permanently
This status code means the requested resource has been permanently moved to a new URL. All future requests should use the new address provided in the response.
The server’s response usually includes a link to the new URL, except for
HEAD
requests. For methods other than
GET
and
HEAD
, redirection only happens if the client allows it.
302 Found
This status code means that the requested resource is temporarily available at a different URI. Future requests should continue to use the original address unless otherwise directed.
For non-
HEAD
requests, the server’s response usually includes a link to the temporary URI. Redirection only occurs if the client allows it.
Check out our
302 error
tutorial for troubleshooting methods and common use cases.
303 See Other
This status code redirects the client to a different resource using the
GET
method. It means the server cannot provide the requested resource directly.
For example, after submitting a form, the server redirects the client to a confirmation page instead of showing the result directly.
304 Not Modified
This status code means the requested resource hasn’t changed, so the client can use its cached version. It’s typically triggered by
GET
or
HEAD
requests with conditional headers like
If-None-Match
or
If-Modified-Since
.
Check out our tutorial on the
304 status code
for more details and troubleshooting steps.
307 Temporary Redirect
The server sends this status code to redirect the client to another URI temporarily. Since it is temporary, the client may need to use the original address in the future. Unlike
302 Found
, the client must keep the same HTTP method during the redirect.
308 Permanent Redirect
This status code indicates the resource has permanently moved to a new URI in the HTTP header.
It has the same semantics as
301 Moved Permanently
, except that
308 Permanent Redirect
doesn’t allow the client to change the request method.
4XX – Client error HTTP status codes
400 Bad Request
This status code means the server couldn’t process the request due to a client-side error, like invalid syntax or routing. To fix a
400 error
, check the URL and clear your browser’s cache and cookies.
401 Unauthorized
The server rejected the request due to missing or invalid user authentication. If the request included credentials, it indicates the server refused to authorize them. The response usually comes with a
WWW-Authenticate
header containing instructions to access the resource.
If you come across a
401 error
, check out our dedicated tutorial for troubleshooting steps.
402 Payment Required
This non-standard status code was intended for digital payment systems. However, it’s rarely used, and there are no clear rules for it.
403 Forbidden
The server understood the request but denied access, usually due to insufficient permissions. Re-authentication won’t resolve a
403 error
, as access is permanently restricted. The client can try again with different credentials.
404 Not Found
This status code means that the server can’t find the requested resource and has no forwarding address. In a browser, it means the link is missing or unrecognized. In an API, it indicates the endpoint exists, but the resource doesn’t.
Links that return a
404 error
are called broken or dead links, which can be temporary or permanent.
405 Method Not Allowed
The origin server recognizes the request method, but the resource doesn’t support it. The response usually includes an
Allow
header listing the supported methods.
To fix a
405 error
, check the URL and review any database changes.
406 Not Acceptable
The server sends this invalid response when it doesn’t find any content that matches the criteria in the request’s
Accept
headers. The server will provide a list of available options so the client can choose the most suitable one.
407 Proxy Authentication Required
The server displays this code when using a proxy. The client must provide valid authentication credentials to access the requested resource. Unlike
401 Unauthorized
, the client must authenticate with the specified proxy server instead of the origin server.
408 Request Timeout
This status code means the server didn’t receive the full request within the allowed time. The response usually suggests closing the unused connection.
To fix it, the client can resend the request without changes. This error can occur in browsers like Chrome and Firefox, which use pre-connection to speed up loading.
409 Conflict
The server can’t process the request due to a conflict with the resource. It provides details about the issue so the client can fix it and try again, usually with a
PUT
request.
410 Gone
This response code means the resource is permanently unavailable without any forwarding address. When this occurs, search engines will remove the page from their index. It shows the site owner intentionally made the resource unavailable and wants to remove any links to it.
411 Length Required
The server rejected the request because it needs a
Content-Length
header.
412 Precondition Failed
This invalid response shows the server couldn’t meet one or more conditions specified in the request headers.
413 Payload Too Large
The server usually sends this error code when a request is too large to process. To fix a
413 error
, the server might close the connection and include a
Retry-After
header, encouraging the client to try again later.
414 URI Too Long
This status code means the request URI is too long for the server to process. While it’s rare, it can happen if a client converts a
POST
request into a
GET
request with too much query information, enters a redirection loop, or attempts to exploit server vulnerabilities.
415 Unsupported Media Type
The server rejected the request because the resource uses an unsupported media format. This error code can also appear if the data compression method isn’t supported or if the content doesn’t meet the server’s expectations or rules.
416 Range Not Satisfiable
The server sends this status code when it can’t process the range specified in the request. It happens when the range doesn’t exist in the resource or the value is invalid.
417 Expectation Failed
This status means the server can’t meet the requirements specified in the request’s
Expect
header.
418 I’m a Teapot
This status code references an April Fools’ Day joke called the Hyper Text Coffee Pot Control Protocol, indicating that the server is a teapot and, therefore, can’t brew coffee. Some websites use it for requests they want to avoid.
421 Misdirected Request
This status code happens when the client sends a request to the wrong server, which can’t respond to the given URL. The user can retry the request using a different connection or service.
422 Unprocessable Entity
The server received the request but can’t process it due to issues like semantic errors, such as entering text in a form’s numeric field.
423 Locked
This status means the resource is locked. The response often includes details about the lock.
424 Failed Dependency
The request failed because it depended on a previous request that also failed.
425 Too Early
The server refuses to process the request because it might be repeated later.
426 Upgrade Required
The server won’t process the request unless the client switches to the required protocol stated in the
Upgrade
header.
428 Precondition Required
This status code means that the server needs a conditional request so that the client is using the correct version of the resource.
429 Too Many Requests
The
429 error
occurs when the client sends too many requests in a short time. The server may include a
Retry-After
header to tell the client how long to wait before trying again.
431 Request Header Fields Too Large
The server sends this status code when the request headers are too big to process. The client should reduce the header size and resend the request.
451 Unavailable for Legal Reasons
This response code occurs when the client requests a resource that has been removed due to legal reasons, such as a blocked site or page. This mostly affects Internet Service Providers (ISPs) and search engines.
5XX – Server error HTTP status codes
500 Internal Server Error
This generic error code appears when the server encounters an unexpected issue that prevents it from completing the request. In many cases, server administrators log detailed information about the problem for troubleshooting.
501 Not Implemented
This status means the server doesn’t support the functionality needed to complete the request. Servers only need to handle
GET
and
HEAD
methods by default.
The response can include a
Retry-After
header, letting the client know when the functionality might be available.
502 Bad Gateway
The gateway or proxy server gives this status code when it receives an invalid response while attempting to complete the request. If your site displays a
502 error
, you should contact your web host to fix it.
503 Service Unavailable
This status means the server can’t handle the request due to temporary overload or maintenance. Check the response’s
Retry-After
header to see how long you should wait before trying again.
504 Gateway Timeout
The gateway or proxy server sends this status code when it doesn’t get a timely response from the upstream server. If the
504 error
occurs on your website, check your hosting resources or try using a different browser to solve it.
505 HTTP Version Not Supported
The server sends this code when it doesn’t support the HTTP version used in the request. The response will explain why that version doesn’t work and offer acceptable protocols.
506 Variant Also Negotiates
This status code indicates a server configuration error. It happens when the chosen resource variant is set up for
content negotiation
but isn’t a valid endpoint, causing a loop.
507 Insufficient Storage
The server doesn’t have enough storage to complete the request.
508 Loop Detected
This status means the server stopped an operation because it detected an infinite loop, causing the process to fail.
510 Not Extended
This status code means the server needs further extensions to complete the request successfully.
511 Network Authentication Required
The client must authenticate itself to access the network. The response usually includes a link to submit credentials. It addresses security issues with captive portals or the web pages users see before accessing public Wi-Fi networks.
Understanding HTTP request and response
HTTP defines request methods to tell the server what action to take with a resource. These methods share common features: safe, idempotent, or cacheable.
Methods are considered safe if they don’t modify anything on the server and work on a read-only basis. Idempotent methods give the same result no matter how often you run them without unintended side effects. Cacheable methods allow browsers or proxies to save responses for reuse, improving efficiency.
Here’s a list of standardized request methods commonly used in HTTP:
GET
‒ retrieves data from a resource.
HEAD
‒ requests the same response as
GET
but without a message body.
POST
‒ sends data to a resource, like submitting a form.
PUT
‒ replaces a resource or its representation entirely.
DELETE
‒ removes a resource.
OPTIONS
‒ shows the communication options for the resource.
TRACE
‒ tests the path of a request.
PATCH
‒ updates part of a resource.
These request methods often connect with HTTP status codes, showing if the action succeeded or failed. For example, a
GET
request can return
200 OK
if it works or
404 Not Found
if the resource doesn’t exist.
How to check a page’s HTTP status code
Users rarely see status codes in the 1XX and 2XX categories. Instead, they usually encounter 3XX, 4XX, or 5XX status codes when something goes wrong.
The easiest way to check a page’s HTTP status codes is to use your browser’s
Inspect Element
tool. If you’re on Chrome, right-click anywhere on the page and select
Inspect
. Then, select
Network
on the top menu.
With
WebSniffer
, you can check a page’s HTTP request headers by selecting the request type (
GET
,
POST
, or
HEAD
) and client. This feature helps you see how the page loads on different browsers and even Googlebot.
Important HTTP status code for SEO
Search engine bots register all HTTP status codes while crawling your site and will use this information to determine its health and ranking. Let’s see some of the status codes that significantly impact your site’s SEO.
200: OK
The
200 OK
status positively impacts SEO because it signals to search engines that the page is accessible and working properly for visitors. It confirms the page is indexed, ranks in search results, and provides a smooth user experience.
301: Moved Permanently
The
301 Moved Permanently
status helps SEO by redirecting traffic from an old URL to a new one. It tells search engines the old page has moved, so they transfer its ranking and authority ‒ also known as
link equity
‒ to the new page. This keeps your site’s SEO stable and avoids broken links.
If you own a WordPress website, check out our dedicated tutorial on
creating 301 redirects
. As for best practices, make sure to:
Redirect relevant pages
‒ pick pages with similar content to maintain user experience and SEO value.
Update internal links
‒ replace old URLs with new ones in your site’s navigation, menus, and content so that visitors don’t come across broken links.
Check external links
‒ ask other sites that link to your old URL to update their links if possible.
Monitor redirects
‒ test your redirects to avoid chains or loops, which can slow down your site and confuse search engines.
Inform search engines
‒ submit an updated
sitemap
to inform search engines about the new URL structure.
302: Found
Since
302 Found
is a temporary redirect, search engines assume the original URL will return and often keep it indexed. Using it for a permanent move can hurt your SEO as it splits ranking and authority between the old and new URLs.
Therefore, only allow this status code for temporary situations, like during maintenance or testing. Replace it with
301
the moment the change becomes permanent.
404: Not Found
The 404 Not Found response is bad news for SEO and user experience. Search engines might remove
404
pages from their index, which means lost traffic. If the page has backlinks, you could lose valuable SEO benefits. It can also frustrate visitors, causing them to leave and mistrust your site.
Immediately fixing the error code is the best way to minimize the damage. It’s also a great practice to create a custom
404
error page, which you can populate with navigation links or information to keep visitors engaged.
Hostinger users can set up custom error pages in hPanel by going to
Website
→
Error Pages
. Alternatively, use WordPress plugins like
SeedProd
or
Smart Custom 404 Error Page
to get the job done without coding.
More importantly, regularly scan your website for
404
errors using Hostinger’s built-in
AI Troubleshooter
or third-party tools like
Google Search Console
.
Did you know?
Available for Hostinger’s Managed WordPress Hosting users, AI Troubleshooter automatically detects and fixes common errors affecting the website, including
404
.
410: Gone
The
410 Gone
status code can benefit your SEO when used on permanently removed pages. It’s more effective than
404 Not Found
because it clearly tells search engines to remove the page from their index.
However, using it on pages with valuable backlinks or significant traffic can result in lost link equity and SEO value. It can also confuse users if there’s no clear alternative to the page.
Only use 410 for pages you want to remove permanently and don’t plan to replace. Better yet, redirect visitors and search engines to another relevant page using a
301
.
500: Internal Server Error
This status code can make it harder for search engines to crawl your site, leading to missed opportunities and unindexed pages. If the error lasts too long, search engines might view your site as unreliable, potentially affecting your rankings.
For WordPress sites, bad plugins and a corrupted
.htaccess file
are common causes of a 500 Internal Server Error. Check out our tutorial on
fixing the 500 HTTP error
for troubleshooting steps and contact your hosting provider if the error persists.
503: Service Unavailable
The
503 Service Unavailable
error means the server is temporarily down, usually due to maintenance or overload. Unlike the
500
error, it’s usually planned.
While short-term
503
errors won’t hurt your SEO much, leaving them unresolved for too long can lead to lost traffic, higher bounce rates, and lower rankings.
To fix it, finish up your maintenance or reduce the server load. You can also try other troubleshooting methods in our
503 Service Unavailable
tutorial. If nothing works, check with your hosting provider to see if the problem is from their end.
HTTP status codes FAQ
How many HTTP status codes are there?
The
IANA registry
lists status codes from
100
to
599
. Only 63 are standardized and widely used, while the rest are unassigned.
Should I check my site for HTTP status code errors?
Absolutely! Checking for and solving HTTP status code errors helps improve your site’s performance and user experience and protects your search rankings.
How do I fix 4XX and 5XX HTTP status code errors?
Since 4XX errors come from the client side, check for URL typos or update permissions to resolve them. For 5XX server errors, review your server settings, logs, and resources. Contact your hosting provider if needed.
All of the tutorial content on this website is subject to
Hostinger's rigorous editorial standards and values.
Jordana is a Senior Content Writer with a background in Information Systems. She has over five years of experience in WordPress and is casually dabbling with PHP and MySQL. Her passion for writing and technology drives her to create tutorials for anyone wanting to build their online presence. Follow her on
LinkedIn
. |
| Markdown | [Pricing](https://www.hostinger.com/pricing)
[Services]()
Create a website
[AI website and app builder Create sites and web apps fast with Hostinger Horizons](https://www.hostinger.com/horizons)
[Drag-and-drop website builder Build and edit your site with templates](https://www.hostinger.com/website-builder)
[Managed hosting for WordPress Power your website with the world’s leading CMS](https://www.hostinger.com/wordpress-hosting)
[Migrate a website Move your site fast and for free](https://www.hostinger.com/website-migration)
Sell online
[Ecommerce Build and grow your online store](https://www.hostinger.com/ecommerce-website)
[Managed hosting for WooCommerce Run your WooCommerce store with ease](https://www.hostinger.com/woocommerce-hosting)
Host and deploy
[Web hosting Host any site quickly, easily, and securely](https://www.hostinger.com/web-hosting)
[Cloud hosting Scale with more power and resources](https://www.hostinger.com/cloud-hosting)
[VPS hosting Get full control with AI-managed VPS](https://www.hostinger.com/vps-hosting)
[Node.js apps Deploy and run modern web apps instantly](https://www.hostinger.com/web-apps-hosting)
[Agency hosting Manage multiple sites professionally](https://www.hostinger.com/pro)
Domains
[Domain name search Find the perfect domain name](https://www.hostinger.com/domain-name-search)
[Transfer domain](https://www.hostinger.com/transfer-domain)
Grow your business
[Business email Create professional addresses to build your brand](https://www.hostinger.com/business-email)
[Email marketing NEW Create and send emails with the AI-powered Reach](https://www.hostinger.com/email-marketing)
[Google Workspace Transform teamwork and boost productivity](https://www.hostinger.com/google-workspace)
AI and automation
[1-click OpenClaw NEW Run your personal 24/7 AI agent](https://www.hostinger.com/vps/openclaw-hosting)
[Self-hosted n8n Run AI workflows with full control](https://www.hostinger.com/self-hosted-n8n)
[Explore]()
[Blog Our latest news and updates](https://www.hostinger.com/blog)
[Product updates Latest releases and upcoming features](https://roadmap.hostinger.com/)
[Our story How we got here and where we’re going](https://www.hostinger.com/about)
[Client stories Our clients’ successes are our favorite stories](https://www.hostinger.com/blog/client-stories)
[Support]()
[Knowledge Base Advice and answers to all of your FAQs](https://hostinger.com/support)
[Tutorials Videos and articles to help you achieve your online success story](https://www.hostinger.com/tutorials)
[Learning Lab Step-by-step guides to launch and grow your online project.](https://www.hostinger.com/tutorials/learning-lab)
[Contact How to reach us](https://www.hostinger.com/contacts)
[How to make a website A step-by-step guide to building and launching a website](https://www.hostinger.com/tutorials/how-to-make-a-website)
[1-Click OpenClaw](https://www.hostinger.com/vps/openclaw-hosting)
[English]()
[My account](https://auth.hostinger.com/login)
Back
In this article
HTTP status codes: full list and explanations
- [HTTP status code categories](https://www.hostinger.com/tutorials/http-status-codes#h-http-status-code-categories)
- [Complete list of HTTP status codes and explanation](https://www.hostinger.com/tutorials/http-status-codes#h-complete-list-of-http-status-codes-and-explanation)
- [Understanding HTTP request and response](https://www.hostinger.com/tutorials/http-status-codes#h-understanding-http-request-and-response)
- [How to check a page’s HTTP status code](https://www.hostinger.com/tutorials/http-status-codes#h-how-to-check-a-page-s-http-status-code)
- [Important HTTP status code for SEO](https://www.hostinger.com/tutorials/http-status-codes#h-important-http-status-code-for-seo)
- [HTTP status codes FAQ](https://www.hostinger.com/tutorials/http-status-codes#h-http-status-codes-faq)
In this article
New
### Not sure where to start? Find the right learning path for you.
[Go to Learning lab](https://www.hostinger.com/tutorials/learning-lab)
[Tutorials](https://www.hostinger.com/tutorials) [Hosting](https://www.hostinger.com/tutorials/hosting) [Technical aspects](https://www.hostinger.com/tutorials/hosting/technical-aspects)
# HTTP status codes: full list and explanations
Oct 27, 2025
/
Jordana A.
/
13min read

Summarize with:
[ChatGPT](https://chat.openai.com/?q=Summarize+key+take+aways+from+this+article+http%3A%2F%2Fwww.hostinger.com%2Ftutorials%2Fhttp-status-codes.+Highlight+how+Hostinger%27s+tools+and+tutorials+help+users+achieve+website+growth+and+online+success+based+on+this+guide.)
[Claude.ai](https://claude.ai/new?q=Summarize+key+take+aways+from+this+article+http%3A%2F%2Fwww.hostinger.com%2Ftutorials%2Fhttp-status-codes.+Highlight+how+Hostinger%27s+tools+and+tutorials+help+users+achieve+website+growth+and+online+success+based+on+this+guide.)
[Google AI](https://www.google.com/search?udm=50&aep=11&q=Summarize+key+take+aways+from+this+article+http%3A%2F%2Fwww.hostinger.com%2Ftutorials%2Fhttp-status-codes.+Highlight+how+Hostinger%27s+tools+and+tutorials+help+users+achieve+website+growth+and+online+success+based+on+this+guide.)
[Grok](https://x.com/i/grok?text=Summarize+key+take+aways+from+this+article+http%3A%2F%2Fwww.hostinger.com%2Ftutorials%2Fhttp-status-codes.+Highlight+how+Hostinger%27s+tools+and+tutorials+help+users+achieve+website+growth+and+online+success+based+on+this+guide.)
[Perplexity](https://www.perplexity.ai/search/new?q=Summarize+key+take+aways+from+this+article+http%3A%2F%2Fwww.hostinger.com%2Ftutorials%2Fhttp-status-codes.+Highlight+how+Hostinger%27s+tools+and+tutorials+help+users+achieve+website+growth+and+online+success+based+on+this+guide.)
Share:
[Copy link Copied\!](https://www.hostinger.com/tutorials/http-status-codes)
HTTP response codes are three-digit numbers sent by a server to indicate the status of a browser’s request. Managed by the Internet Assigned Numbers Authority (IANA), these codes help identify whether a request was successful, redirected, or resulted in an error.
If you’re managing a website, understanding these codes is useful for diagnosing site issues, minimizing downtime, and optimizing SEO. Keep reading as we cover 63 HTTP status codes, their meanings, and how to monitor them.
## HTTP status code categories
When identifying an HTTP status code, focus on the first digit to determine its category. The last two digits provide specific details within that category.
The [Internet Engineering Task Force (IETF)](https://www.ietf.org/) standardized HTTP status codes into five categories based on the server’s response to the browser:
- **1XX (informational)** – the server received the HTTP request and will continue the process. Status codes within this category are temporary, so they aren’t visible to the client.
- **2XX (success)** – the server received, understood, and processed the request.
- **3XX (redirection)** – the server received the request, but the requested content has moved. Therefore, it will redirect the client to another location.
- **4XX (client error)** – the server couldn’t complete the request because of a client-side issue, such as an authorization problem. The response explains whether the issue is temporary or permanent.
- **5XX (server error)** – a server-side issue prevents the request from being processed. Like 4XX, the response specifies if it’s a temporary or permanent issue.
## Complete list of HTTP status codes and explanation
Here is the complete list of HTTP status codes from IEFT documentation:
| | |
|---|---|
| **Status codes** | **Functions** |
| [1XX Informational](https://www.hostinger.com/tutorials/http-status-codes#:~:text=1XX%20%E2%80%93%20Informational%20HTTP%20status%20codes) | |
| 100 | Continue |
| 101 | Switching Protocols |
| 102 | Processing |
| 103 | Early Hints |
| [2XX Successful](https://www.hostinger.com/tutorials/http-status-codes#:~:text=2XX%20%E2%80%93%20Successful%20HTTP%20status%20codes) | |
| 200 | OK |
| 201 | Created |
| 202 | Accepted |
| 203 | Non-Authoritative Information |
| 204 | No Content |
| 205 | Reset Content |
| 206 | Partial Content |
| 207 | Multi-Status |
| 208 | Already Reported |
| 226 | IM Used |
| [3XX Redirection](https://www.hostinger.com/tutorials/http-status-codes#:~:text=3XX%20%E2%80%93%20Redirection%20HTTP%20status%20codes) | |
| 300 | Multiple Choices |
| 301 | Moved Permanently |
| 302 | Found |
| 303 | See Other |
| 304 | Not Modified |
| 307 | Temporary Redirect |
| 308 | Permanent Redirect |
| [4XX Client Error](https://www.hostinger.com/tutorials/http-status-codes#:~:text=4XX%20%E2%80%93%20Client%20error%20HTTP%20status%20codes) | |
| 400 | Bad Request |
| 401 | Unauthorized |
| 402 | Payment Required |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 407 | Proxy Authentication Required |
| 408 | Request Timeout |
| 409 | Conflict |
| 410 | Gone |
| 411 | Length Required |
| 412 | Precondition Failed |
| 413 | Content Too Large |
| 414 | URI Too Long |
| 415 | Unsupported Media Type |
| 416 | Range Not Satisfiable |
| 417 | Expectation Failed |
| 418 | I’m a Teapot |
| 421 | Misdirected Request |
| 422 | Unprocessable Entity |
| 423 | Locked |
| 424 | Failed Dependency |
| 425 | Too Early |
| 426 | Upgrade Required |
| 428 | Precondition Required |
| 429 | Too Many Requests |
| 431 | Request Header Fields Too Large |
| 451 | Unavailable for Legal Reasons |
| [5XX Server Error](https://www.hostinger.com/tutorials/http-status-codes#:~:text=5XX%20%E2%80%93%20Server%20error%20HTTP%20status%20codes) | |
| 500 | Internal Server Error |
| 501 | Not Implemented |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
| 505 | HTTP Version Not Supported |
| 506 | Variant Also Negotiates |
| 507 | Insufficient Storage |
| 508 | Loop Detected |
| 510 | Not Extended |
| 511 | Network Authentication Required |
**305 Use Proxy** and **306 Switch Proxy** have been deprecated but are still reserved.
Additionally, codes outside these categories may be unofficial, not yet adopted, or specific to certain platforms or services. For example, Cloudflare uses the [521 Web Server Is Down](https://www.hostinger.com/tutorials/error-521) status code for connection errors.
### 1XX – Informational HTTP status codes
**100 Continue**This status code indicates that the server has received the initial part of the request. The client should continue sending the rest of the request and ignore this status code.
**101 Switching Protocols**The server agrees to switch to the protocol specified in the **Upgrade** header. This response only happens if the change is beneficial.
**102 Processing**The status code means that the server is still processing the request. It usually appears when a request takes a long time to complete.
**103 Early Hints**This response code allows the browser to preload resources using the **Link** header while the server prepares the final response.
### 2XX – Successful HTTP status codes
**200 OK**
This status code indicates that the request has succeeded. However, the actual meaning of this response depends on the request method used (**GET**, **HEAD**, **POST**, **PUT**, **DELETE**, **OPTIONS**, or **TRACE**). We’ll dive into all the HTTP methods later in the article.
**201 Created**
This status code is a typical response sent after a **POST** or **PUT** method. It indicates that the server has completed the request and is creating one or more new resources, identified by a **Location** header or the target URI.
**202 Accepted**
The server has accepted the request but hasn’t processed it yet. This non-committal status allows the server to handle the request later without requiring the client to stay connected, making it ideal for batch processing.
**203 Non-Authoritative Information**
This status code means the request was successful, but a proxy modified the response data from the origin server. It’s commonly used when the server retrieves data from a cache or third-party source, notifying recipients of potential changes to the original content, like in backups or mirrored resources.
**204 No Content**
This status code means that the server successfully processed the request but has no content to send in the response. It’s used for actions that don’t require updating the browser’s current view.
**205 Reset Content**
The request was successful, and the client should reset the document view ‒ a notepad, form, or canvas ‒ to its default state.
**206 Partial Content**This status code is sent when a client requests part of a resource using the **Range** header, which reduces bandwidth usage and improves performance.
It commonly happens when resuming interrupted downloads, streaming media files, handling large file transfers in chunks, and fetching specific data segments during synchronization.
**207 Multi-Status**
This status code provides the status of multiple resources in a single response. The XML message body typically includes a multi-status root element detailing each resource’s success, partial success, or failure.
**208 Already Reported**
This status code is used inside a [DAV:propstat](http://webdav.org/specs/rfc2518.html) response element to avoid listing duplicate internal members of collections. Only one resource reports a **200 OK** status, while duplicates use **208**.
**226 IM Used**
The server successfully processed a **GET** request and applied one or more [instance manipulations](https://www.iana.org/assignments/inst-man-values/inst-man-values.xhtml) to the resource in the response.
### 3XX – Redirection HTTP status codes
**300 Multiple Choices**
This status code indicates that multiple responses are available, and the client must choose one.
For example, it can happen when a resource has multiple language versions, such as English and French. The response includes a list of options with resource details and locations. If the server has a preferred choice, it provides a **Location** header for automatic redirection.
**301 Moved Permanently**
This status code means the requested resource has been permanently moved to a new URL. All future requests should use the new address provided in the response.
The server’s response usually includes a link to the new URL, except for **HEAD** requests. For methods other than **GET** and **HEAD**, redirection only happens if the client allows it.
**302 Found**
This status code means that the requested resource is temporarily available at a different URI. Future requests should continue to use the original address unless otherwise directed.
For non-**HEAD** requests, the server’s response usually includes a link to the temporary URI. Redirection only occurs if the client allows it.
Check out our [302 error](https://www.hostinger.com/tutorials/302-found-error) tutorial for troubleshooting methods and common use cases.
**303 See Other**
This status code redirects the client to a different resource using the **GET** method. It means the server cannot provide the requested resource directly.
For example, after submitting a form, the server redirects the client to a confirmation page instead of showing the result directly.
**304 Not Modified**
This status code means the requested resource hasn’t changed, so the client can use its cached version. It’s typically triggered by **GET** or **HEAD** requests with conditional headers like **If-None-Match** or **If-Modified-Since**.
Check out our tutorial on the [304 status code](https://www.hostinger.com/tutorials/304-status-code) for more details and troubleshooting steps.
**307 Temporary Redirect**
The server sends this status code to redirect the client to another URI temporarily. Since it is temporary, the client may need to use the original address in the future. Unlike **302 Found**, the client must keep the same HTTP method during the redirect.
**308 Permanent Redirect**
This status code indicates the resource has permanently moved to a new URI in the HTTP header.
It has the same semantics as **301 Moved Permanently**, except that **308 Permanent Redirect** doesn’t allow the client to change the request method.
### 4XX – Client error HTTP status codes
**400 Bad Request**
This status code means the server couldn’t process the request due to a client-side error, like invalid syntax or routing. To fix a [400 error](https://www.hostinger.com/tutorials/how-to-fix-400-bad-request-error), check the URL and clear your browser’s cache and cookies.
**401 Unauthorized**
The server rejected the request due to missing or invalid user authentication. If the request included credentials, it indicates the server refused to authorize them. The response usually comes with a **WWW-Authenticate** header containing instructions to access the resource.
If you come across a [401 error](https://www.hostinger.com/tutorials/how-to-fix-the-401-unauthorized-error), check out our dedicated tutorial for troubleshooting steps.
**402 Payment Required**
This non-standard status code was intended for digital payment systems. However, it’s rarely used, and there are no clear rules for it.
**403 Forbidden**
The server understood the request but denied access, usually due to insufficient permissions. Re-authentication won’t resolve a [403 error](https://www.hostinger.com/tutorials/what-is-403-forbidden-error-and-how-to-fix-it), as access is permanently restricted. The client can try again with different credentials.
**404 Not Found**
This status code means that the server can’t find the requested resource and has no forwarding address. In a browser, it means the link is missing or unrecognized. In an API, it indicates the endpoint exists, but the resource doesn’t.
Links that return a [404 error](https://www.hostinger.com/tutorials/how-to-fix-error-404) are called broken or dead links, which can be temporary or permanent.
**405 Method Not Allowed**
The origin server recognizes the request method, but the resource doesn’t support it. The response usually includes an **Allow** header listing the supported methods.
To fix a [405 error](https://www.hostinger.com/tutorials/error-405-method-not-allowed), check the URL and review any database changes.
**406 Not Acceptable**
The server sends this invalid response when it doesn’t find any content that matches the criteria in the request’s **Accept** headers. The server will provide a list of available options so the client can choose the most suitable one.
**407 Proxy Authentication Required**
The server displays this code when using a proxy. The client must provide valid authentication credentials to access the requested resource. Unlike **401 Unauthorized**, the client must authenticate with the specified proxy server instead of the origin server.
**408 Request Timeout**This status code means the server didn’t receive the full request within the allowed time. The response usually suggests closing the unused connection.
To fix it, the client can resend the request without changes. This error can occur in browsers like Chrome and Firefox, which use pre-connection to speed up loading.
**409 Conflict**
The server can’t process the request due to a conflict with the resource. It provides details about the issue so the client can fix it and try again, usually with a **PUT** request.
**410 Gone**This response code means the resource is permanently unavailable without any forwarding address. When this occurs, search engines will remove the page from their index. It shows the site owner intentionally made the resource unavailable and wants to remove any links to it.
**411 Length Required**
The server rejected the request because it needs a **Content-Length** header.
**412 Precondition Failed**
This invalid response shows the server couldn’t meet one or more conditions specified in the request headers.
**413 Payload Too Large**
The server usually sends this error code when a request is too large to process. To fix a [413 error](https://www.hostinger.com/tutorials/413-request-entity-too-large-error), the server might close the connection and include a **Retry-After** header, encouraging the client to try again later.
**414 URI Too Long**
This status code means the request URI is too long for the server to process. While it’s rare, it can happen if a client converts a **POST** request into a **GET** request with too much query information, enters a redirection loop, or attempts to exploit server vulnerabilities.
**415 Unsupported Media Type**
The server rejected the request because the resource uses an unsupported media format. This error code can also appear if the data compression method isn’t supported or if the content doesn’t meet the server’s expectations or rules.
**416 Range Not Satisfiable**
The server sends this status code when it can’t process the range specified in the request. It happens when the range doesn’t exist in the resource or the value is invalid.
**417 Expectation Failed**This status means the server can’t meet the requirements specified in the request’s **Expect** header.
**418 I’m a Teapot**
This status code references an April Fools’ Day joke called the Hyper Text Coffee Pot Control Protocol, indicating that the server is a teapot and, therefore, can’t brew coffee. Some websites use it for requests they want to avoid.
**421 Misdirected Request**
This status code happens when the client sends a request to the wrong server, which can’t respond to the given URL. The user can retry the request using a different connection or service.
**422 Unprocessable Entity**
The server received the request but can’t process it due to issues like semantic errors, such as entering text in a form’s numeric field.
**423 Locked**
This status means the resource is locked. The response often includes details about the lock.
**424 Failed Dependency**
The request failed because it depended on a previous request that also failed.
**425 Too Early**
The server refuses to process the request because it might be repeated later.
**426 Upgrade Required**
The server won’t process the request unless the client switches to the required protocol stated in the **Upgrade** header.
**428 Precondition Required**
This status code means that the server needs a conditional request so that the client is using the correct version of the resource.
**429 Too Many Requests**
The [429 error](https://www.hostinger.com/tutorials/429-too-many-requests-error) occurs when the client sends too many requests in a short time. The server may include a **Retry-After** header to tell the client how long to wait before trying again.
**431 Request Header Fields Too Large**
The server sends this status code when the request headers are too big to process. The client should reduce the header size and resend the request.
**451 Unavailable for Legal Reasons**
This response code occurs when the client requests a resource that has been removed due to legal reasons, such as a blocked site or page. This mostly affects Internet Service Providers (ISPs) and search engines.
### 5XX – Server error HTTP status codes
**500 Internal Server Error**
This generic error code appears when the server encounters an unexpected issue that prevents it from completing the request. In many cases, server administrators log detailed information about the problem for troubleshooting.
**501 Not Implemented**
This status means the server doesn’t support the functionality needed to complete the request. Servers only need to handle **GET** and **HEAD** methods by default.
The response can include a **Retry-After** header, letting the client know when the functionality might be available.
**502 Bad Gateway**
The gateway or proxy server gives this status code when it receives an invalid response while attempting to complete the request. If your site displays a [502 error](https://www.hostinger.com/tutorials/502-bad-gateway), you should contact your web host to fix it.
**503 Service Unavailable**
This status means the server can’t handle the request due to temporary overload or maintenance. Check the response’s **Retry-After** header to see how long you should wait before trying again.
**504 Gateway Timeout**
The gateway or proxy server sends this status code when it doesn’t get a timely response from the upstream server. If the [504 error](https://www.hostinger.com/tutorials/504-gateway-timeout) occurs on your website, check your hosting resources or try using a different browser to solve it.
**505 HTTP Version Not Supported**
The server sends this code when it doesn’t support the HTTP version used in the request. The response will explain why that version doesn’t work and offer acceptable protocols.
**506 Variant Also Negotiates**
This status code indicates a server configuration error. It happens when the chosen resource variant is set up for [content negotiation](https://www.javatpoint.com/http-content-negotiation) but isn’t a valid endpoint, causing a loop.
**507 Insufficient Storage**
The server doesn’t have enough storage to complete the request.
**508 Loop Detected**
This status means the server stopped an operation because it detected an infinite loop, causing the process to fail.
**510 Not Extended**
This status code means the server needs further extensions to complete the request successfully.
**511 Network Authentication Required**
The client must authenticate itself to access the network. The response usually includes a link to submit credentials. It addresses security issues with captive portals or the web pages users see before accessing public Wi-Fi networks.
## Understanding HTTP request and response
HTTP defines request methods to tell the server what action to take with a resource. These methods share common features: safe, idempotent, or cacheable.
Methods are considered safe if they don’t modify anything on the server and work on a read-only basis. Idempotent methods give the same result no matter how often you run them without unintended side effects. Cacheable methods allow browsers or proxies to save responses for reuse, improving efficiency.
Here’s a list of standardized request methods commonly used in HTTP:
- **GET** ‒ retrieves data from a resource.
- **HEAD** ‒ requests the same response as **GET** but without a message body.
- **POST** ‒ sends data to a resource, like submitting a form.
- **PUT** ‒ replaces a resource or its representation entirely.
- **DELETE** ‒ removes a resource.
- **OPTIONS** ‒ shows the communication options for the resource.
- **TRACE** ‒ tests the path of a request.
- **PATCH** ‒ updates part of a resource.
These request methods often connect with HTTP status codes, showing if the action succeeded or failed. For example, a **GET** request can return **200 OK** if it works or **404 Not Found** if the resource doesn’t exist.
## How to check a page’s HTTP status code
Users rarely see status codes in the 1XX and 2XX categories. Instead, they usually encounter 3XX, 4XX, or 5XX status codes when something goes wrong.
The easiest way to check a page’s HTTP status codes is to use your browser’s [Inspect Element](https://www.hostinger.com/tutorials/website/how-to-inspect-and-change-style-using-google-chrome) tool. If you’re on Chrome, right-click anywhere on the page and select **Inspect**. Then, select **Network** on the top menu.

With [WebSniffer](https://websniffer.cc/), you can check a page’s HTTP request headers by selecting the request type (**GET**, **POST**, or **HEAD**) and client. This feature helps you see how the page loads on different browsers and even Googlebot.

## Important HTTP status code for SEO
Search engine bots register all HTTP status codes while crawling your site and will use this information to determine its health and ranking. Let’s see some of the status codes that significantly impact your site’s SEO.
### 200: OK
The **200 OK** status positively impacts SEO because it signals to search engines that the page is accessible and working properly for visitors. It confirms the page is indexed, ranks in search results, and provides a smooth user experience.
### 301: Moved Permanently
The **301 Moved Permanently** status helps SEO by redirecting traffic from an old URL to a new one. It tells search engines the old page has moved, so they transfer its ranking and authority ‒ also known as [link equity](https://ahrefs.com/seo/glossary/link-equity) ‒ to the new page. This keeps your site’s SEO stable and avoids broken links.
If you own a WordPress website, check out our dedicated tutorial on [creating 301 redirects](https://www.hostinger.com/tutorials/301-redirects-in-wordpress). As for best practices, make sure to:
- **Redirect relevant pages** ‒ pick pages with similar content to maintain user experience and SEO value.
- **Update internal links** ‒ replace old URLs with new ones in your site’s navigation, menus, and content so that visitors don’t come across broken links.
- **Check external links** ‒ ask other sites that link to your old URL to update their links if possible.
- **Monitor redirects** ‒ test your redirects to avoid chains or loops, which can slow down your site and confuse search engines.
- **Inform search engines** ‒ submit an updated [sitemap](https://www.hostinger.com/tutorials/what-is-a-sitemap) to inform search engines about the new URL structure.
#### Did you know?
Hostinger’s [Managed WordPress hosting](https://www.hostinger.com/wordpress-hosting) lets you set up multiple redirects using hPanel in just a few clicks.
### 302: Found
Since **302 Found** is a temporary redirect, search engines assume the original URL will return and often keep it indexed. Using it for a permanent move can hurt your SEO as it splits ranking and authority between the old and new URLs.
Therefore, only allow this status code for temporary situations, like during maintenance or testing. Replace it with **301** the moment the change becomes permanent.
### 404: Not Found
The 404 Not Found response is bad news for SEO and user experience. Search engines might remove **404** pages from their index, which means lost traffic. If the page has backlinks, you could lose valuable SEO benefits. It can also frustrate visitors, causing them to leave and mistrust your site.
Immediately fixing the error code is the best way to minimize the damage. It’s also a great practice to create a custom **404** error page, which you can populate with navigation links or information to keep visitors engaged.
Hostinger users can set up custom error pages in hPanel by going to **Website** → **Error Pages**. Alternatively, use WordPress plugins like **SeedProd** or **Smart Custom 404 Error Page** to get the job done without coding.
More importantly, regularly scan your website for **404** errors using Hostinger’s built-in [AI Troubleshooter](https://www.hostinger.com/blog/wordpress-ai-troubleshooter) or third-party tools like **Google Search Console**.
#### Did you know?
Available for Hostinger’s Managed WordPress Hosting users, AI Troubleshooter automatically detects and fixes common errors affecting the website, including **404**.
### 410: Gone
The **410 Gone** status code can benefit your SEO when used on permanently removed pages. It’s more effective than **404 Not Found** because it clearly tells search engines to remove the page from their index.
However, using it on pages with valuable backlinks or significant traffic can result in lost link equity and SEO value. It can also confuse users if there’s no clear alternative to the page.
Only use 410 for pages you want to remove permanently and don’t plan to replace. Better yet, redirect visitors and search engines to another relevant page using a **301**.
### 500: Internal Server Error
This status code can make it harder for search engines to crawl your site, leading to missed opportunities and unindexed pages. If the error lasts too long, search engines might view your site as unreliable, potentially affecting your rankings.
For WordPress sites, bad plugins and a corrupted [.htaccess file](https://www.hostinger.com/tutorials/locate-and-create-htaccess) are common causes of a 500 Internal Server Error. Check out our tutorial on [fixing the 500 HTTP error](https://www.hostinger.com/tutorials/how-to-fix-500-internal-server-error-in-wordpress) for troubleshooting steps and contact your hosting provider if the error persists.
### 503: Service Unavailable
The **503 Service Unavailable** error means the server is temporarily down, usually due to maintenance or overload. Unlike the **500** error, it’s usually planned.
While short-term **503** errors won’t hurt your SEO much, leaving them unresolved for too long can lead to lost traffic, higher bounce rates, and lower rankings.
To fix it, finish up your maintenance or reduce the server load. You can also try other troubleshooting methods in our [503 Service Unavailable](https://www.hostinger.com/tutorials/503-service-unavailable) tutorial. If nothing works, check with your hosting provider to see if the problem is from their end.
## HTTP status codes FAQ
### How many HTTP status codes are there?
The [IANA registry](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) lists status codes from **100** to **599**. Only 63 are standardized and widely used, while the rest are unassigned.
### Should I check my site for HTTP status code errors?
Absolutely! Checking for and solving HTTP status code errors helps improve your site’s performance and user experience and protects your search rankings.
### How do I fix 4XX and 5XX HTTP status code errors?
Since 4XX errors come from the client side, check for URL typos or update permissions to resolve them. For 5XX server errors, review your server settings, logs, and resources. Contact your hosting provider if needed.
**All of the tutorial content on this website is subject to [Hostinger's rigorous editorial standards and values.](https://www.hostinger.com/tutorials/editorial-standards-and-values)**

The author
Jordana Alexandrea
Jordana is a Senior Content Writer with a background in Information Systems. She has over five years of experience in WordPress and is casually dabbling with PHP and MySQL. Her passion for writing and technology drives her to create tutorials for anyone wanting to build their online presence. Follow her on [LinkedIn](https://www.linkedin.com/in/jordana-alexandrea/).
[More from Jordana Alexandrea](https://www.hostinger.com/tutorials/author/jordana)
## Related tutorials
[](https://www.hostinger.com/tutorials/best-european-hosting-providers)
31 Mar • [Hosting](https://www.hostinger.com/tutorials/hosting) •
##### [Top 10 best European hosting providers: Key features and pricing](https://www.hostinger.com/tutorials/best-european-hosting-providers)
Choosing the best European hosting provider isn’t just about uptime – it’s about where your data is stored and how ...
[By Alma Fernando](https://www.hostinger.com/tutorials/author/almafernando)
[](https://www.hostinger.com/tutorials/server-performance-metrics)
30 Mar • [Hosting](https://www.hostinger.com/tutorials/hosting) •
##### [What are server performance metrics? How server performance metrics work](https://www.hostinger.com/tutorials/server-performance-metrics)
Server performance metrics are measurements that show how a server uses resources such as CPU, memory, disk, and network, how ...
[By Ksenija Drobac Ristovic](https://www.hostinger.com/tutorials/author/ksenija)
[](https://www.hostinger.com/tutorials/what-is-a-database)
23 Mar • [Hosting](https://www.hostinger.com/tutorials/hosting) • [Technical aspects](https://www.hostinger.com/tutorials/hosting/technical-aspects) •
##### [What is a database? Definition, components, types, and how it works](https://www.hostinger.com/tutorials/what-is-a-database)
A database is an organized electronic collection of data designed for fast storage, data retrieval, and management. In simple terms, ...
[By Ksenija Drobac Ristovic](https://www.hostinger.com/tutorials/author/ksenija)
## What our customers say
Hosting[Web hosting](https://www.hostinger.com/web-hosting) [Hosting for WordPress](https://www.hostinger.com/wordpress-hosting) [VPS hosting](https://www.hostinger.com/vps-hosting) [n8n VPS hosting](https://www.hostinger.com/vps/n8n-hosting) [Business email](https://www.hostinger.com/business-email) [Cloud hosting](https://www.hostinger.com/cloud-hosting) [Hosting for WooCommerce](https://www.hostinger.com/woocommerce-hosting) [Hosting for agencies](https://www.hostinger.com/pro) [Minecraft hosting](https://www.hostinger.com/vps/minecraft-hosting) [Game server hosting](https://www.hostinger.com/vps/game-server-hosting) [OpenClaw](https://www.hostinger.com/vps/openclaw-hosting) [Google Workspace](https://www.hostinger.com/google-workspace)
Domain[Domain name search](https://www.hostinger.com/domain-name-search) [Cheap domain names](https://www.hostinger.com/cheap-domain-names) [Free domain](https://www.hostinger.com/free-domain) [WHOIS Lookup](https://www.hostinger.com/whois) [Free SSL certificate](https://www.hostinger.com/free-ssl-certificate) [Domain transfer](https://www.hostinger.com/transfer-domain) [Domain extensions](https://www.hostinger.com/tld)
Tools[Horizons](https://www.hostinger.com/horizons) [Website Builder](https://www.hostinger.com/website-builder) [AI Website Builder](https://www.hostinger.com/ai-website-builder) [Ecommerce Website Builder](https://www.hostinger.com/ecommerce-website) [Business Name Generator](https://www.hostinger.com/business-name-generator) [AI Logo Generator](https://www.hostinger.com/logo-maker) [Migrate to Hostinger](https://www.hostinger.com/website-migration) [Hostinger API](https://developers.hostinger.com/)
Information[Pricing](https://www.hostinger.com/pricing) [Reviews](https://www.hostinger.com/reviews) [Affiliate program](https://www.hostinger.com/affiliates) [Referral program](https://www.hostinger.com/referral-program) [Roadmap](https://roadmap.hostinger.com/) [Wall of fame](https://www.hostinger.com/wall-of-fame) [System status](https://statuspage.hostinger.com/) [Trust center](https://trust.hostinger.com/) [Sitemap](https://www.hostinger.com/sitemap)
Company[About Hostinger](https://www.hostinger.com/about) [Our technology](https://www.hostinger.com/technology) [Newsroom](https://www.hostinger.com/newsroom) [Career](https://www.hostinger.com/career) [Blog](https://www.hostinger.com/blog) [Student discount](https://www.hostinger.com/student-discount) [Sustainability](https://www.hostinger.com/sustainability) [Principles](https://www.hostinger.com/principles)
Support[Tutorials](https://www.hostinger.com/tutorials) [Knowledge Base](https://hostinger.com/support) [Contact us](https://www.hostinger.com/contacts) [Report abuse](https://www.hostinger.com/report-abuse)
[NPRD request policy](https://www.hostinger.com/legal/non-public-registrant-data-request-policy) [Privacy policy](https://www.hostinger.com/legal/privacy-policy) [Refund policy](https://www.hostinger.com/legal/refund-policy) [Terms of service](https://www.hostinger.com/legal/universal-terms-of-service-agreement)
[and more](https://www.hostinger.com/payments)
© 2004-2026 Hostinger – Launch, grow, and succeed online, supported by AI that puts the power in your hands.
Prices are listed without VAT
#### Kodee
## Hello đź‘‹
### How can I help you today?
Kodee initialization failed. Please try again later.
Restart Conversation
Kodee can make mistakes. Double-check replies.
Ask Kodee
#### We Care About Your Privacy
We use cookies, to ensure that we give you the best experience on our website, to enable essential services and functionality on our site and to collect data on how visitors interact with our site and services. By clicking Accept, you agree to our use of all the cookies for advertising, analytics and support. For more information, please read our [Cookie Policy](https://www.hostinger.com/legal/cookie-policy).
Decline
Settings
Accept
![]()
![]() |
| Readable Markdown | Oct 27, 2025
/
Jordana A.
/
13min read

HTTP response codes are three-digit numbers sent by a server to indicate the status of a browser’s request. Managed by the Internet Assigned Numbers Authority (IANA), these codes help identify whether a request was successful, redirected, or resulted in an error.
If you’re managing a website, understanding these codes is useful for diagnosing site issues, minimizing downtime, and optimizing SEO. Keep reading as we cover 63 HTTP status codes, their meanings, and how to monitor them.
## HTTP status code categories
When identifying an HTTP status code, focus on the first digit to determine its category. The last two digits provide specific details within that category.
The [Internet Engineering Task Force (IETF)](https://www.ietf.org/) standardized HTTP status codes into five categories based on the server’s response to the browser:
- **1XX (informational)** – the server received the HTTP request and will continue the process. Status codes within this category are temporary, so they aren’t visible to the client.
- **2XX (success)** – the server received, understood, and processed the request.
- **3XX (redirection)** – the server received the request, but the requested content has moved. Therefore, it will redirect the client to another location.
- **4XX (client error)** – the server couldn’t complete the request because of a client-side issue, such as an authorization problem. The response explains whether the issue is temporary or permanent.
- **5XX (server error)** – a server-side issue prevents the request from being processed. Like 4XX, the response specifies if it’s a temporary or permanent issue.
## Complete list of HTTP status codes and explanation
Here is the complete list of HTTP status codes from IEFT documentation:
| | |
|---|---|
| **Status codes** | **Functions** |
| [1XX Informational](https://www.hostinger.com/tutorials/http-status-codes#:~:text=1XX%20%E2%80%93%20Informational%20HTTP%20status%20codes) | |
| 100 | Continue |
| 101 | Switching Protocols |
| 102 | Processing |
| 103 | Early Hints |
| [2XX Successful](https://www.hostinger.com/tutorials/http-status-codes#:~:text=2XX%20%E2%80%93%20Successful%20HTTP%20status%20codes) | |
| 200 | OK |
| 201 | Created |
| 202 | Accepted |
| 203 | Non-Authoritative Information |
| 204 | No Content |
| 205 | Reset Content |
| 206 | Partial Content |
| 207 | Multi-Status |
| 208 | Already Reported |
| 226 | IM Used |
| [3XX Redirection](https://www.hostinger.com/tutorials/http-status-codes#:~:text=3XX%20%E2%80%93%20Redirection%20HTTP%20status%20codes) | |
| 300 | Multiple Choices |
| 301 | Moved Permanently |
| 302 | Found |
| 303 | See Other |
| 304 | Not Modified |
| 307 | Temporary Redirect |
| 308 | Permanent Redirect |
| [4XX Client Error](https://www.hostinger.com/tutorials/http-status-codes#:~:text=4XX%20%E2%80%93%20Client%20error%20HTTP%20status%20codes) | |
| 400 | Bad Request |
| 401 | Unauthorized |
| 402 | Payment Required |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 407 | Proxy Authentication Required |
| 408 | Request Timeout |
| 409 | Conflict |
| 410 | Gone |
| 411 | Length Required |
| 412 | Precondition Failed |
| 413 | Content Too Large |
| 414 | URI Too Long |
| 415 | Unsupported Media Type |
| 416 | Range Not Satisfiable |
| 417 | Expectation Failed |
| 418 | I’m a Teapot |
| 421 | Misdirected Request |
| 422 | Unprocessable Entity |
| 423 | Locked |
| 424 | Failed Dependency |
| 425 | Too Early |
| 426 | Upgrade Required |
| 428 | Precondition Required |
| 429 | Too Many Requests |
| 431 | Request Header Fields Too Large |
| 451 | Unavailable for Legal Reasons |
| [5XX Server Error](https://www.hostinger.com/tutorials/http-status-codes#:~:text=5XX%20%E2%80%93%20Server%20error%20HTTP%20status%20codes) | |
| 500 | Internal Server Error |
| 501 | Not Implemented |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
| 505 | HTTP Version Not Supported |
| 506 | Variant Also Negotiates |
| 507 | Insufficient Storage |
| 508 | Loop Detected |
| 510 | Not Extended |
| 511 | Network Authentication Required |
**305 Use Proxy** and **306 Switch Proxy** have been deprecated but are still reserved.
Additionally, codes outside these categories may be unofficial, not yet adopted, or specific to certain platforms or services. For example, Cloudflare uses the [521 Web Server Is Down](https://www.hostinger.com/tutorials/error-521) status code for connection errors.
### 1XX – Informational HTTP status codes
**100 Continue**This status code indicates that the server has received the initial part of the request. The client should continue sending the rest of the request and ignore this status code.
**101 Switching Protocols**The server agrees to switch to the protocol specified in the **Upgrade** header. This response only happens if the change is beneficial.
**102 Processing**The status code means that the server is still processing the request. It usually appears when a request takes a long time to complete.
**103 Early Hints**This response code allows the browser to preload resources using the **Link** header while the server prepares the final response.
### 2XX – Successful HTTP status codes
**200 OK**
This status code indicates that the request has succeeded. However, the actual meaning of this response depends on the request method used (**GET**, **HEAD**, **POST**, **PUT**, **DELETE**, **OPTIONS**, or **TRACE**). We’ll dive into all the HTTP methods later in the article.
**201 Created**
This status code is a typical response sent after a **POST** or **PUT** method. It indicates that the server has completed the request and is creating one or more new resources, identified by a **Location** header or the target URI.
**202 Accepted**
The server has accepted the request but hasn’t processed it yet. This non-committal status allows the server to handle the request later without requiring the client to stay connected, making it ideal for batch processing.
**203 Non-Authoritative Information**
This status code means the request was successful, but a proxy modified the response data from the origin server. It’s commonly used when the server retrieves data from a cache or third-party source, notifying recipients of potential changes to the original content, like in backups or mirrored resources.
**204 No Content**
This status code means that the server successfully processed the request but has no content to send in the response. It’s used for actions that don’t require updating the browser’s current view.
**205 Reset Content**
The request was successful, and the client should reset the document view ‒ a notepad, form, or canvas ‒ to its default state.
**206 Partial Content**This status code is sent when a client requests part of a resource using the **Range** header, which reduces bandwidth usage and improves performance.
It commonly happens when resuming interrupted downloads, streaming media files, handling large file transfers in chunks, and fetching specific data segments during synchronization.
**207 Multi-Status**
This status code provides the status of multiple resources in a single response. The XML message body typically includes a multi-status root element detailing each resource’s success, partial success, or failure.
**208 Already Reported**
This status code is used inside a [DAV:propstat](http://webdav.org/specs/rfc2518.html) response element to avoid listing duplicate internal members of collections. Only one resource reports a **200 OK** status, while duplicates use **208**.
**226 IM Used**
The server successfully processed a **GET** request and applied one or more [instance manipulations](https://www.iana.org/assignments/inst-man-values/inst-man-values.xhtml) to the resource in the response.
### 3XX – Redirection HTTP status codes
**300 Multiple Choices**
This status code indicates that multiple responses are available, and the client must choose one.
For example, it can happen when a resource has multiple language versions, such as English and French. The response includes a list of options with resource details and locations. If the server has a preferred choice, it provides a **Location** header for automatic redirection.
**301 Moved Permanently**
This status code means the requested resource has been permanently moved to a new URL. All future requests should use the new address provided in the response.
The server’s response usually includes a link to the new URL, except for **HEAD** requests. For methods other than **GET** and **HEAD**, redirection only happens if the client allows it.
**302 Found**
This status code means that the requested resource is temporarily available at a different URI. Future requests should continue to use the original address unless otherwise directed.
For non-**HEAD** requests, the server’s response usually includes a link to the temporary URI. Redirection only occurs if the client allows it.
Check out our [302 error](https://www.hostinger.com/tutorials/302-found-error) tutorial for troubleshooting methods and common use cases.
**303 See Other**
This status code redirects the client to a different resource using the **GET** method. It means the server cannot provide the requested resource directly.
For example, after submitting a form, the server redirects the client to a confirmation page instead of showing the result directly.
**304 Not Modified**
This status code means the requested resource hasn’t changed, so the client can use its cached version. It’s typically triggered by **GET** or **HEAD** requests with conditional headers like **If-None-Match** or **If-Modified-Since**.
Check out our tutorial on the [304 status code](https://www.hostinger.com/tutorials/304-status-code) for more details and troubleshooting steps.
**307 Temporary Redirect**
The server sends this status code to redirect the client to another URI temporarily. Since it is temporary, the client may need to use the original address in the future. Unlike **302 Found**, the client must keep the same HTTP method during the redirect.
**308 Permanent Redirect**
This status code indicates the resource has permanently moved to a new URI in the HTTP header.
It has the same semantics as **301 Moved Permanently**, except that **308 Permanent Redirect** doesn’t allow the client to change the request method.
### 4XX – Client error HTTP status codes
**400 Bad Request**
This status code means the server couldn’t process the request due to a client-side error, like invalid syntax or routing. To fix a [400 error](https://www.hostinger.com/tutorials/how-to-fix-400-bad-request-error), check the URL and clear your browser’s cache and cookies.
**401 Unauthorized**
The server rejected the request due to missing or invalid user authentication. If the request included credentials, it indicates the server refused to authorize them. The response usually comes with a **WWW-Authenticate** header containing instructions to access the resource.
If you come across a [401 error](https://www.hostinger.com/tutorials/how-to-fix-the-401-unauthorized-error), check out our dedicated tutorial for troubleshooting steps.
**402 Payment Required**
This non-standard status code was intended for digital payment systems. However, it’s rarely used, and there are no clear rules for it.
**403 Forbidden**
The server understood the request but denied access, usually due to insufficient permissions. Re-authentication won’t resolve a [403 error](https://www.hostinger.com/tutorials/what-is-403-forbidden-error-and-how-to-fix-it), as access is permanently restricted. The client can try again with different credentials.
**404 Not Found**
This status code means that the server can’t find the requested resource and has no forwarding address. In a browser, it means the link is missing or unrecognized. In an API, it indicates the endpoint exists, but the resource doesn’t.
Links that return a [404 error](https://www.hostinger.com/tutorials/how-to-fix-error-404) are called broken or dead links, which can be temporary or permanent.
**405 Method Not Allowed**
The origin server recognizes the request method, but the resource doesn’t support it. The response usually includes an **Allow** header listing the supported methods.
To fix a [405 error](https://www.hostinger.com/tutorials/error-405-method-not-allowed), check the URL and review any database changes.
**406 Not Acceptable**
The server sends this invalid response when it doesn’t find any content that matches the criteria in the request’s **Accept** headers. The server will provide a list of available options so the client can choose the most suitable one.
**407 Proxy Authentication Required**
The server displays this code when using a proxy. The client must provide valid authentication credentials to access the requested resource. Unlike **401 Unauthorized**, the client must authenticate with the specified proxy server instead of the origin server.
**408 Request Timeout**This status code means the server didn’t receive the full request within the allowed time. The response usually suggests closing the unused connection.
To fix it, the client can resend the request without changes. This error can occur in browsers like Chrome and Firefox, which use pre-connection to speed up loading.
**409 Conflict**
The server can’t process the request due to a conflict with the resource. It provides details about the issue so the client can fix it and try again, usually with a **PUT** request.
**410 Gone**This response code means the resource is permanently unavailable without any forwarding address. When this occurs, search engines will remove the page from their index. It shows the site owner intentionally made the resource unavailable and wants to remove any links to it.
**411 Length Required**
The server rejected the request because it needs a **Content-Length** header.
**412 Precondition Failed**
This invalid response shows the server couldn’t meet one or more conditions specified in the request headers.
**413 Payload Too Large**
The server usually sends this error code when a request is too large to process. To fix a [413 error](https://www.hostinger.com/tutorials/413-request-entity-too-large-error), the server might close the connection and include a **Retry-After** header, encouraging the client to try again later.
**414 URI Too Long**
This status code means the request URI is too long for the server to process. While it’s rare, it can happen if a client converts a **POST** request into a **GET** request with too much query information, enters a redirection loop, or attempts to exploit server vulnerabilities.
**415 Unsupported Media Type**
The server rejected the request because the resource uses an unsupported media format. This error code can also appear if the data compression method isn’t supported or if the content doesn’t meet the server’s expectations or rules.
**416 Range Not Satisfiable**
The server sends this status code when it can’t process the range specified in the request. It happens when the range doesn’t exist in the resource or the value is invalid.
**417 Expectation Failed**This status means the server can’t meet the requirements specified in the request’s **Expect** header.
**418 I’m a Teapot**
This status code references an April Fools’ Day joke called the Hyper Text Coffee Pot Control Protocol, indicating that the server is a teapot and, therefore, can’t brew coffee. Some websites use it for requests they want to avoid.
**421 Misdirected Request**
This status code happens when the client sends a request to the wrong server, which can’t respond to the given URL. The user can retry the request using a different connection or service.
**422 Unprocessable Entity**
The server received the request but can’t process it due to issues like semantic errors, such as entering text in a form’s numeric field.
**423 Locked**
This status means the resource is locked. The response often includes details about the lock.
**424 Failed Dependency**
The request failed because it depended on a previous request that also failed.
**425 Too Early**
The server refuses to process the request because it might be repeated later.
**426 Upgrade Required**
The server won’t process the request unless the client switches to the required protocol stated in the **Upgrade** header.
**428 Precondition Required**
This status code means that the server needs a conditional request so that the client is using the correct version of the resource.
**429 Too Many Requests**
The [429 error](https://www.hostinger.com/tutorials/429-too-many-requests-error) occurs when the client sends too many requests in a short time. The server may include a **Retry-After** header to tell the client how long to wait before trying again.
**431 Request Header Fields Too Large**
The server sends this status code when the request headers are too big to process. The client should reduce the header size and resend the request.
**451 Unavailable for Legal Reasons**
This response code occurs when the client requests a resource that has been removed due to legal reasons, such as a blocked site or page. This mostly affects Internet Service Providers (ISPs) and search engines.
### 5XX – Server error HTTP status codes
**500 Internal Server Error**
This generic error code appears when the server encounters an unexpected issue that prevents it from completing the request. In many cases, server administrators log detailed information about the problem for troubleshooting.
**501 Not Implemented**
This status means the server doesn’t support the functionality needed to complete the request. Servers only need to handle **GET** and **HEAD** methods by default.
The response can include a **Retry-After** header, letting the client know when the functionality might be available.
**502 Bad Gateway**
The gateway or proxy server gives this status code when it receives an invalid response while attempting to complete the request. If your site displays a [502 error](https://www.hostinger.com/tutorials/502-bad-gateway), you should contact your web host to fix it.
**503 Service Unavailable**
This status means the server can’t handle the request due to temporary overload or maintenance. Check the response’s **Retry-After** header to see how long you should wait before trying again.
**504 Gateway Timeout**
The gateway or proxy server sends this status code when it doesn’t get a timely response from the upstream server. If the [504 error](https://www.hostinger.com/tutorials/504-gateway-timeout) occurs on your website, check your hosting resources or try using a different browser to solve it.
**505 HTTP Version Not Supported**
The server sends this code when it doesn’t support the HTTP version used in the request. The response will explain why that version doesn’t work and offer acceptable protocols.
**506 Variant Also Negotiates**
This status code indicates a server configuration error. It happens when the chosen resource variant is set up for [content negotiation](https://www.javatpoint.com/http-content-negotiation) but isn’t a valid endpoint, causing a loop.
**507 Insufficient Storage**
The server doesn’t have enough storage to complete the request.
**508 Loop Detected**
This status means the server stopped an operation because it detected an infinite loop, causing the process to fail.
**510 Not Extended**
This status code means the server needs further extensions to complete the request successfully.
**511 Network Authentication Required**
The client must authenticate itself to access the network. The response usually includes a link to submit credentials. It addresses security issues with captive portals or the web pages users see before accessing public Wi-Fi networks.
## Understanding HTTP request and response
HTTP defines request methods to tell the server what action to take with a resource. These methods share common features: safe, idempotent, or cacheable.
Methods are considered safe if they don’t modify anything on the server and work on a read-only basis. Idempotent methods give the same result no matter how often you run them without unintended side effects. Cacheable methods allow browsers or proxies to save responses for reuse, improving efficiency.
Here’s a list of standardized request methods commonly used in HTTP:
- **GET** ‒ retrieves data from a resource.
- **HEAD** ‒ requests the same response as **GET** but without a message body.
- **POST** ‒ sends data to a resource, like submitting a form.
- **PUT** ‒ replaces a resource or its representation entirely.
- **DELETE** ‒ removes a resource.
- **OPTIONS** ‒ shows the communication options for the resource.
- **TRACE** ‒ tests the path of a request.
- **PATCH** ‒ updates part of a resource.
These request methods often connect with HTTP status codes, showing if the action succeeded or failed. For example, a **GET** request can return **200 OK** if it works or **404 Not Found** if the resource doesn’t exist.
## How to check a page’s HTTP status code
Users rarely see status codes in the 1XX and 2XX categories. Instead, they usually encounter 3XX, 4XX, or 5XX status codes when something goes wrong.
The easiest way to check a page’s HTTP status codes is to use your browser’s [Inspect Element](https://www.hostinger.com/tutorials/website/how-to-inspect-and-change-style-using-google-chrome) tool. If you’re on Chrome, right-click anywhere on the page and select **Inspect**. Then, select **Network** on the top menu.

With [WebSniffer](https://websniffer.cc/), you can check a page’s HTTP request headers by selecting the request type (**GET**, **POST**, or **HEAD**) and client. This feature helps you see how the page loads on different browsers and even Googlebot.

## Important HTTP status code for SEO
Search engine bots register all HTTP status codes while crawling your site and will use this information to determine its health and ranking. Let’s see some of the status codes that significantly impact your site’s SEO.
### 200: OK
The **200 OK** status positively impacts SEO because it signals to search engines that the page is accessible and working properly for visitors. It confirms the page is indexed, ranks in search results, and provides a smooth user experience.
### 301: Moved Permanently
The **301 Moved Permanently** status helps SEO by redirecting traffic from an old URL to a new one. It tells search engines the old page has moved, so they transfer its ranking and authority ‒ also known as [link equity](https://ahrefs.com/seo/glossary/link-equity) ‒ to the new page. This keeps your site’s SEO stable and avoids broken links.
If you own a WordPress website, check out our dedicated tutorial on [creating 301 redirects](https://www.hostinger.com/tutorials/301-redirects-in-wordpress). As for best practices, make sure to:
- **Redirect relevant pages** ‒ pick pages with similar content to maintain user experience and SEO value.
- **Update internal links** ‒ replace old URLs with new ones in your site’s navigation, menus, and content so that visitors don’t come across broken links.
- **Check external links** ‒ ask other sites that link to your old URL to update their links if possible.
- **Monitor redirects** ‒ test your redirects to avoid chains or loops, which can slow down your site and confuse search engines.
- **Inform search engines** ‒ submit an updated [sitemap](https://www.hostinger.com/tutorials/what-is-a-sitemap) to inform search engines about the new URL structure.
### 302: Found
Since **302 Found** is a temporary redirect, search engines assume the original URL will return and often keep it indexed. Using it for a permanent move can hurt your SEO as it splits ranking and authority between the old and new URLs.
Therefore, only allow this status code for temporary situations, like during maintenance or testing. Replace it with **301** the moment the change becomes permanent.
### 404: Not Found
The 404 Not Found response is bad news for SEO and user experience. Search engines might remove **404** pages from their index, which means lost traffic. If the page has backlinks, you could lose valuable SEO benefits. It can also frustrate visitors, causing them to leave and mistrust your site.
Immediately fixing the error code is the best way to minimize the damage. It’s also a great practice to create a custom **404** error page, which you can populate with navigation links or information to keep visitors engaged.
Hostinger users can set up custom error pages in hPanel by going to **Website** → **Error Pages**. Alternatively, use WordPress plugins like **SeedProd** or **Smart Custom 404 Error Page** to get the job done without coding.
More importantly, regularly scan your website for **404** errors using Hostinger’s built-in [AI Troubleshooter](https://www.hostinger.com/blog/wordpress-ai-troubleshooter) or third-party tools like **Google Search Console**.
#### Did you know?
Available for Hostinger’s Managed WordPress Hosting users, AI Troubleshooter automatically detects and fixes common errors affecting the website, including **404**.
### 410: Gone
The **410 Gone** status code can benefit your SEO when used on permanently removed pages. It’s more effective than **404 Not Found** because it clearly tells search engines to remove the page from their index.
However, using it on pages with valuable backlinks or significant traffic can result in lost link equity and SEO value. It can also confuse users if there’s no clear alternative to the page.
Only use 410 for pages you want to remove permanently and don’t plan to replace. Better yet, redirect visitors and search engines to another relevant page using a **301**.
### 500: Internal Server Error
This status code can make it harder for search engines to crawl your site, leading to missed opportunities and unindexed pages. If the error lasts too long, search engines might view your site as unreliable, potentially affecting your rankings.
For WordPress sites, bad plugins and a corrupted [.htaccess file](https://www.hostinger.com/tutorials/locate-and-create-htaccess) are common causes of a 500 Internal Server Error. Check out our tutorial on [fixing the 500 HTTP error](https://www.hostinger.com/tutorials/how-to-fix-500-internal-server-error-in-wordpress) for troubleshooting steps and contact your hosting provider if the error persists.
### 503: Service Unavailable
The **503 Service Unavailable** error means the server is temporarily down, usually due to maintenance or overload. Unlike the **500** error, it’s usually planned.
While short-term **503** errors won’t hurt your SEO much, leaving them unresolved for too long can lead to lost traffic, higher bounce rates, and lower rankings.
To fix it, finish up your maintenance or reduce the server load. You can also try other troubleshooting methods in our [503 Service Unavailable](https://www.hostinger.com/tutorials/503-service-unavailable) tutorial. If nothing works, check with your hosting provider to see if the problem is from their end.
## HTTP status codes FAQ
### How many HTTP status codes are there?
The [IANA registry](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) lists status codes from **100** to **599**. Only 63 are standardized and widely used, while the rest are unassigned.
### Should I check my site for HTTP status code errors?
Absolutely! Checking for and solving HTTP status code errors helps improve your site’s performance and user experience and protects your search rankings.
### How do I fix 4XX and 5XX HTTP status code errors?
Since 4XX errors come from the client side, check for URL typos or update permissions to resolve them. For 5XX server errors, review your server settings, logs, and resources. Contact your hosting provider if needed.
**All of the tutorial content on this website is subject to [Hostinger's rigorous editorial standards and values.](https://www.hostinger.com/tutorials/editorial-standards-and-values)**

Jordana is a Senior Content Writer with a background in Information Systems. She has over five years of experience in WordPress and is casually dabbling with PHP and MySQL. Her passion for writing and technology drives her to create tutorials for anyone wanting to build their online presence. Follow her on [LinkedIn](https://www.linkedin.com/in/jordana-alexandrea/). |
| Shard | 165 (laksa) |
| Root Hash | 5798784484440663965 |
| Unparsed URL | com,hostinger!www,/tutorials/http-status-codes s443 |