HTTP is a simple communication protocol based on TCP/IP and is the absolute substratum for data delivery on the World Wide Web. For many years, HTTP is serving as a powerful protocol wherein bazillions of data is sent through HTTP between client and server. Essentially HTTP is based on a client-server architecture where web browsers and search engines act like an HTTP client and Web server acts as a server. This request/response by clients and server are communicated over a TCP/IP connection. The browser client initiates a request to a web server in the form of URL and the web server responds back with requested resources along with HTTPS status codes that are present in the browsers’ HTTP header. In other words, the web server responds to the request with success or error codes.
HTTP Status Code errors
HTTPS status code is a short note sent by the server that is displayed on the web page when the client initiates a request to the server. HTTPS status code is critical for websites owner or any developer as they play an important role in diagnosing the client/server side errors and resolving the configuration issues. In other words, the HTTPS status code is a server’s way of saying that something isn’t right. The status code element is a 3 digit number where the first digit of the status code specifies the classes of the responses. Within the class, a variety of server codes exists and is returned by the server. The last two digits of the HTTPS status code do not have any classification role. There are five standard classes for HTTP status codes which we are going to discuss in detail and discuss some HTTPS status codes that we may bump into on a regular basis.
HTTPS status codes are classified into 5 classes:
1xx:
This class signifies Informational responses which indicate that the client-initiated requests are received by the web server and is under process.
Within this class, a variety of server codes exist and are returned by the server.
The following are some of the lists of status codes under the class 1xx.
100 Continue: This indicates that the server received only a part of the client-initiated request out of a large request and it means that client can continue sending a request as long as the request is not rejected from the server end.
101 Switching Protocols: The status code mean that the server is ready to switch protocols as per the client’s request.
2xx:
This class is a success code returned by the server. It means that the client-initiated request was received by the server, as well as the action was understood and processed.
The following are some of the lists of status codes under the class 2xx.
200 OK: This status code is a standard response to the successful HTTP requests initiated by clients. It is returned by the server when the web page behaves the same way as it is expected to behave.
201 Created: This status code is returned when the client-initiated request is completed by the server and a new resource is created
205 Reset Content: This status code is returned when the server has successfully completed the client’s request but has failed to return any content. It requires the client/browser to reset the document view.
3xx:
This class is a Redirection code that suggests the client take the additional action to complete the initiated request. It indicates that the client must take additional action to complete the request.
The following are some of the lists of status codes under the class 3xx.
300 Multiple Choices: it indicates multiple choice for client-initiated resources. The client can select a link with a maximum of five addresses.
301 Moved Permanently: This status code is displayed when the client-initiated request for the resources or web page is permanently replaced with another resource. it redirects to a new URL.
302 Found: This status code is displayed when the client-initiated request for the resources or web page is found but at a different location than expected. It is temporarily moved to another resource or temporarily redirects to a new URL.
304 Not Modified: This status code is returned if the client has already downloaded resources since the last visit and is displayed to notify the client browser that the requested resources are already stored in the browser cache which hasn’t been modified. This status code basically speeds up the delivery of resources from the web page by using the previously downloaded copy that is still present in the cache since the last visit.
4xx:
The client-side error indicates that there was a problem with the client’s request. The code is returned if the client’s request may contain incorrect syntax.
The following are some of the lists of status codes under class 4xx.
400 Bad Request: This status code is returned if the server did not process the request due to client errors like wrong syntax, deceptive routing request, invalid framing, etc.
401 Unauthorized: This status code is returned by the server if a client has not provided valid authentication credentials.
403 Forbidden: This HTTPS status code is returned when access to the resource is forbidden and a client does not possess the required permission to view the content. This basically occurs if the client is attempting to view password-protected content without valid login credentials.
404 Not Found: This HTTPS status code error is the most common error of all and is returned if the server fails to find the client-initiated request.
405 Method Not Allowed: This HTTPS status code is returned if the method requested by the client is supported by the hosting server but not supported by the resources requested by the client.
408 Request Timeout: This HTTPS status code is returned by the server if the server failed to receive a complete request from the client browser. The main reason for this error would be a loss of data packets during communication between client-server. The server times out waiting for the request to receive completely from the client browser.
410 Gone: This HTTPS status code is returned if the server fails to find the client-initiated request page or resources. This status error is similar to 404 Not Found error except that this error is permanent and the requested page or resources is no longer available for now and also will not be available again in the future.
5xx:
This class is a Server-side error and it is returned if the server failed to fulfill the client’s request – the error in the server may be one of reason preventing the fulfillment of the request.
The following are some of the lists of status codes under the class 5xx.
500 Internal Server Error: This HTTPS status error is generated by third-party plugins or faulty plugins. This is a server error when the server fails to connect the database and fails to deliver the requested resource.
501 Not Implemented: This is a web server issue an error is returned if the server does not support the functionality that was requested, by the client. This error can be resolved only the host
502 Bad Gateway: This error mostly occurs when the server that requests for the resources to the database will take a lot of time and is canceled by the web server itself eventually breaking the connection to the upstream server or a database. This error is returned by the server when it receives an invalid response from the upstream server.
503 Service Unavailable: This error is returned if the server is overloaded with too many requests and is unavailable to handle the requests in time.
504 Gateway Timeout: This error is returned when the server which is acting as a gateway fails to receive the response from an upstream server. It occurs when a client-initiated request involves two servers for processing the request wherein the first server acts as a gateway. The first server forwards the request to the second server and the error is returned if the first server timeout waiting for the response from the second server.
I hope you find this bit of information useful.