HTTP stands for HyperText Transfer Protocol which is a basis for the internet communication. A web browser like Chrome or Firefox sends a HTTP request to the server, whenever you enter a URL on the browser’s address bar and hit enter. The web server, which has the requested content, then responds with the HTTP response to complete the communication. During this communication, the server always sends a three digit status code called HTTP status code to indicate status of the communication. For example, the server sends a 404 status code when the requested web page is not available or deleted.
Types of HTTP Status Codes
HTTP status codes are groups into 5 categories depends on the purpose:
- 1xx status codes – information response
- 2xx status codes – success response
- 3xx status codes – redirection
- 4xx status codes – client errors
- 5xx status codes – server errors
HTTP 1xx Status Codes – Informational Responses
A web server responds with a 1xx HTTP status code in the response when the received request is under processing by the server and these codes are kind of acknowledgement to the client.
1xx response typically consists of a HTTP status line, a header and is terminated by an empty line. 1xx status codes are only defined in version HTTP/1.1 and not supported by the previous HTTP/1.0 version. Hence, web servers should not respond with 1xx code to an HTTP/1.0 client.
As 1xx HTTP codes are only meant for informational purposes, browsers and user agents will not process and show these errors on the frontend screen like other series of error. Browsers ignore these status codes and continue to process the remaining part of the requests. There are only four status codes used in 1xx series:
- 100 – continue
- 101 – switching protocols
- 102 – processing
- 103 – early hints
We have explained each 1xx HTTP status code in detail below.
100 – Continue
The server sends a code “100 – Continue” response to indicate that the part of the request is received and the client can continue sending the remaining request. Normally client first sends a request header along with a statement “Expect: 100-continue” and receives the 100 status code from server to proceed sending the request body.
The “expect” statement in the initial request is used to avoid sending the further request body in case of initial request header itself is rejected by the server. In this case server responds with “417 – Expectation Failed” and the client should stop sending the further request body.
101 – Switching Protocols
A web server sends 101 status code when the browser requests to change the communication protocol during the transaction. When request from the client browser asks the server to switch communication protocol and the server accepts it, then it sends the HTTP status code “100 – Switching Protocols” as an acknowledgement to the request.
102 – Processing (WebDAV)
A web server may need considerable time to process complex requests. When a client browser sends a WebDAV request with multiple sub-requests involving complex requirements, server takes some time for processing and sends this code “102 – Processing”. The purpose of this code is to avoid timeout errors at client side by informing the client that the server has received the request and processing it.
103 – Early Hints
A web server sends the HTTP status code “103 – Early Hints” to the browser to before start processing the HTTP requests. As the name indicates, this is an early hint for the client browser that the server not yet started processing the requests.
Web servers send 1xx series HTTP status codes only for informational purposes. Here is a list of 1xx HTTP status codes for informational responses returned by a web server in response to HTTP requests from client browser. Generally browsers ignore these 1xx status codes and will not show in frontend.