HTTP redirects are a useful method to cater for redirecting a site to a new domain, or redirecting HTTP
to HTTPS
. Unfortunately, several incorrectly-configured redirects can cause additional HTTP
request-response cycles and add a few seconds delay to page rendering. You should avoid using page and resource URLs that trigger redirects.
HTTP response status codes indicate whether a specific HTTP request has been successfully completed.
httpstatus.io by Probely is an excellent HTTP
status checker, redirect checker and header checker. You can use this tool to easily check HTTP
status codes, status messages, response headers, and redirect chains returned by a server in response to a URL request by clients like a browser or search engine bot.
Results for fastfwd.co.za
These results are from the FastFwd website. As you can see, there are minimal redirects, with every variation redirecting to the intended URL.
What you should avoid is a series of redirects, with each redirect adding a few hundred milliseconds to your load time. In the example below, redirects add approximately 4.7 seconds to the page load time:
HTTP Status Codes
Type | Code | Explanation | |
---|---|---|---|
Successful | 200 | OK | The server successfully processed the request ie. the server provided the requested page. |
Successful | 204 | No content | The server sent a valid reply to a client request that only contains header information. |
Redirection | 301 | Moved Permanently | The requested page has been permanently moved to a new location. When the server returns this response, it automatically forwards the requestor to the new location. The response should also include this location. It tells the client to use the new URL the next time it wants to fetch the same resource. |
Redirection | 302 | Found / Moved Temporarily | The server is currently responding to the request with a page from a different location, but the requestor should continue to use the original location for future requests. |
Redirection | 304 | Not Modified | The requested page hasn't been modified since the last request. When the server returns this response, it does not return the contents of the page. |
Redirection | 307 | Temporary Redirect | The server is currently responding to the request with a page from a different location, but the requestor should continue to use the original location for future requests. There is very little difference between a 302 status code and a 307 status code, but you can use both to temporarily point users to another URL. This status code has the same semantic as the 302 Found HTTP response code, with the exception that the user agent must not change the HTTP method used. |
Redirection | 308 | Permanent Redirect | The resource is now permanently located at another URI, specified by the Location: HTTP Response header. This has the same semantics as the 301 Moved Permanently HTTP response code, with the exception that the user agent must not change the HTTP method used. |
Client Error | 400 | Bad Request | The server didn't understand the syntax of the request. |
Client Error | 401 | Unauthorized | The request requires authentication, before a resource can be accessed, the client must be authorized by the server. The server might return this response for a page behind a login. |
Client Error | 403 | Forbidden | The server is refusing the request. Unlike a 401 unauthorized response, authenticating will make no difference. |
Client Error | 404 | Not Found | The server can't find the requested page. For instance, the server often returns this code if the request is for a page that doesn't exist on the server. |
Client Error | 408 | Request Timeout | The request you sent to the website server (e.g. a request to load a web page) took longer than the website's server was prepared to wait. In other words, your connection with the website "timed out". |
Client Error | 410 | Gone | The server returns this response when the requested resource has been permanently removed. It is similar to a 404 (Not found) code, but is sometimes used in the place of a 404 for resources that used to exist but no longer do. If the resource has permanently moved, you should use a 301 to specify the resource's new location. |
Client Error | 418 | I'm a teapot | The 418 I'm a Teapot status code means that the server refuses to brew coffee because it is, in fact, a teapot. (It is a reference to a 1998 April Fools' joke called ''Hyper Text Coffee Pot Control Protocol''). |
Client Error | 429 | Too Many Requests | The client has sent too many requests in a given amount of time ("rate limiting"). |
Server Error | 500 | Internal Server Error | The server encountered something it didn't expect and was unable to complete the request. |
Server Error | 502 | Bad Gateway | The server received an invalid response from another server. |
Server Error | 503 | Service Unavailable | The server is currently unavailable (due to a server overload or because it's down for maintenance). Generally, this is a temporary state. |
Server Error | 504 | Gateway Timeout Error | The server did not receive a timely response from another server that it was accessing while attempting to load the web page or fill another request by the browser. In other words, 504 errors usually indicate that a different computer, one that the website you're getting the 504 message on doesn't control but relies on, isn't communicating with it quickly enough. |
Server Error | 508 | Loop Detected | The 508 Loop Detected response code means that the server has detected an infinite loop while processing the request. |
Server Error | 511 | Network Authentication Required | The 511 Network Authentication Required response code indicates that the client needs to authenticate to gain network access. |