On the World Wide Web, one of the most common acronyms that you will encounter is HTTP, which stands for Hypertext Transfer Protocol. This is considered the center of data and information exchange on the web. HTTP is an application protocol that acts as a request-reply system that involves a client and a server. Request-reply or request-response is one of the simplest ways used by computers to communicate with each other. The original version of HTTP, officially called the HTTP/1.0 was revised into HTTP/1.1. However, since the inception of the first version, status codes have already been present.
One of the most prominent status codes is the 1xx, but before you get to know about what exactly 1xx is, it is important that you understand first what status codes are. In HTTP/1.0 and the subsequent versions of the protocol, whenever a request is performed, a response is triggered. The request methods include GET, HEAD, and POST. When the HTTP/1.1 came out, five new methods were introduced. These are OPTIONS, DELETE, TRACE, CONNECT, and PUT. Methods namely HEAD, GET, TRACE, and OPTIONS pose no harm to the server and thus, they are considered “safe methods.” On the other hand, POST, DELETE, and PUT may give adverse effects on the server and sometimes on transactions and other transmissions.
More about Status Codes
The HTTP response consists of the status line, which is the very first line of the protocol’s response to the request. This also contains a number along with a human readable phrase called the “reason phrase.” The user agent or the software agent will handle the response depending mainly on the code. The response headers are also considered to determine how the user agent reacts. There are custom status codes that can also be used, particularly if the software agent does not recognize the code.
Status codes can only be read by machines, which is why reason phrases were created. In reality, the reason phrases are simply recommendations, so the user or the human reading the message can obtain further information especially about the nature of the issue. A web developer can replace the reason phrases with his own version or any “local equivalent” of the code.
The 1xx HTTP Status Code
1xx stands for 100 up to 102. These three are considered informational status codes. Unlike other status codes, the 1xx series are not a part of the first HTTP version or the HTTP/1.0. In this case, it is mandatory that servers do not return these three messages. The series are considered provisional, so there is a huge chance that they would be changed in the future. Nevertheless, user agents or the browsers at the moment ignore them and do not display them for the human to read.
Basically, when a status code is informational in nature, it only tells the user or software agent that the request has been obtained. During this time, there is no rejection whatsoever coming from the server. What this means is that the user agent should carry on with the process, which is usually done by completing the remainder of the request. Once the request is complete, the user agent will totally ignore the code or the message it holds.
Three Types of 1xx HTTP Status Code
The following are the three status codes under the 1xx series:
100 Continue
When the server receives the request headers, 100 Continue occurs. In this case, the client is required to proceed in sending the request body. This is true if there is a body that needs to be sent, such as in a POST request. Large request bodies are often rejected by the server due to inappropriate request headers. To resolve this issue, the client must send the following as a header upon the initial request: Expect: 100-continue.
101 Switching Protocols
This means that the server understands the request from the client and will comply through switching the protocol. For instance, if HTTP/1.0 is released, the server will change from HTTP/2.0 to HTTP/1.0.
102 Processing
This is a Web Distributed Authoring and Versioning (WebDAV) request. Just like the others in its class, this has several sub-requests that contain file operations. This means that it may take a while to achieve the completion of the request. If the user agent receives this message, it indicates that the server is currently processing the request, but there is unavailable action at the moment.
To summarize, the 1xx class of status codes merely indicates that a request has been received and the user agent will continue the process. 1xx is not defined in HTTP/1.0 and so, servers are not required to respond to an HTTP/1.0 client. An exception to this is when experiments are conducted between the client and the server.