The HTTP status code is a field in the HTTP response header that describes the status of the response from the web server to the client's request. The status code is a 3-digit number ranging from 100-599, with each block of 100 corresponding to a type of response.
Range | Response Type
1xx : Informational
2xx : Success
3xx : Redirection
4xx : Client Error
5xx : Server Error
Each status code is interpreted with a short description, which provides additional human-readable information about the status. For example, a 404 is "Not Found", which means the resource requested was not found.
While there are a large number of status codes, in practice only a few are used frequently. It's a good idea to be familiar with the following statuses:
200 (OK): This is the most common status code. It means everything is fine, and the response was processed by the server successfully.
301 (Permanent Redirect): The requested resource has moved permanently, and can be found at a new location.
This is generally the type of redirect you want to use on your site for SEO purposes. This is because a 301 permanent redirects typically passes all the original ranking value from the first URL to the target URL. Therefore, when a page moves, it's possible to keep the same ranking position, thus preserving your SEO efforts. It's also a signal to search engines that the original URL is no longer used, so they will usually remove it from their index
302 (Temporary Redirect): The requested resource has moved temporarily, and can be found at a new location during this time. Later, it will return to its original place.
In contrast to a 301 redirect, a 302 redirect is interpreted by search engines as a temporary phenomena that could change back at any time. Because of this, search engines will usually not remove the original URL from their index, and will not pass any link juice to the target URL since they expect this situation to be temporary.
This means that if a high-ranking URL moves to a new domain or a new location somewhere else on your site, all of the hard work you've put into getting the first URL ranking well will not be passed on to the new URL location. This can be disastrous for your site's rankings, and therefore is not advised in most situations.
Actually, the correct standard interpretation of 302 is "Found". However, in practice it is seldom used this way, so this method is ignored for now.
303 (See Other): Generally used for web applications, this is not exactly a redirect, but instead a notice telling the application that the correct response can be found at a different URL.
304 (Not Modified) Again,not exactly a redirect, but a message from the web server that the page has not been changed since last time accessed or cached.
401 (Unauthorized): These are URLs that require authentication (logging in) in order to see the content. If you try to access content that is behind a login page, you may receive this message.
403 (Forbidden): This error means that the client is not authorized to access the requested content. The most common reason is that the URL is a directory listing (not page content), and directory browsing is not permitted by the web server.
On occasion some servers will return a 403 if you do not have the proper authentication to access the content, though the correct status code for this is 401. A 403 error should be issued when the URL is forbidden whether or not the user provides valid authentication.
404 (Not Found): A 404 means that no page exists at the URL specified. These errors are typically the result of one of three problems:
- There’s a typo in the href value in the anchor tag of the link
- The page no longer exists or has moved to a different URL
- The actual page's URL or filename has a typo in it which doesn’t match the href value in the anchor tag
500 (Internal Server Error): This is a general message that means something is wrong with the server, but no further information is available. Common explanations for 500 errors include coding errors in application code or configuration files, file permissions issues, exceeding memory limits, or even server timeouts.
503 (Service Unavailable): Typically a temporary issue and is usually caused by server overload or system maintenance. If a site suddenly has a very large influx of traffic, it could cause the server to go down and return a 503. Similarly, when a site needs to perform maintenance on their servers, they will typically return a 503.
Other status codes will be seen much less frequently, and are listed in the table below:
Status Code | Description
100 : Continue
101 : Switching Protocols
102 : Processing
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
300 : Multiple Choices
301 : Moved Permanently
302 : Moved Temporarily
303 : See Other
304 : Not Modified
305 : Use Proxy
306 : Reserved
307 : Temporary Redirect
308 : Permanent Redirect
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 : Request Entity Too Large
414 : Request-URI Too Long
415 : Unsupported Media Type
416 : Requested Range Not Satisfiable
417 : Expectation Failed
422 : Unprocessable Entity
423 : Locked
424 : Failed Dependency
426 : Upgrade Required
428 : Precondition Required
429 : Too Many Requests
431 : Request Header Fields Too Large
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 (Experimental)
507 : Insufficient Storage
508 : Loop Detected
510 : Not Extended
511 : Network Authentication Required