HTTP Response sent by a server to the client. The response is used to provide the client with the resource it requested. It is also used to inform the client that the action requested has been carried out. It can also inform the client that an error occurred in processing its request.
An HTTP response contains the following things:
- Status Line
- Response Header Fields or a series of HTTP headers
- Message Body
In the request message, each HTTP header is followed by a carriage returns line feed (CRLF). After the last of the HTTP headers, an additional CRLF is used and then begins the message body.
In the response message, the status line is the first line. The status line contains three items:
a) HTTP Version Number
It is used to show the HTTP specification to which the server has tried to make the message comply.
b) Status Code
It is a three-digit number that indicates the result of the request. The first digit defines the class of the response. The last two digits do not have any categorization role. There are five values for the first digit, which are as follows:
Code and Description
It shows that the request was received and continuing the process.
It shows that the action was received successfully, understood, and accepted.
It shows that further action must be taken to complete the request.
4xx: Client Error
It shows that the request contains incorrect syntax, or it cannot be fulfilled.
5xx: Server Error
It shows that the server failed to fulfil a valid request.
c) Reason Phrase
It is also known as the status text. It is a human-readable text that summarizes the meaning of the status code.
An example of the response line is as follows:
- HTTP/1.1 is the HTTP version.
- 200 is the status code.
- OK is the reason phrase.
Response Header Fields
The HTTP Headers for the response of the server contain the information that a client can use to find out more about the response, and about the server that sent it. This information is used to assist the client with displaying the response to a user, with storing the response for the use of future, and with making further requests to the server now or in the future.
The name of the Response-header field can be extended reliably only in combination with a change in the version of the protocol.
The response’s message body may be referred to for convenience as a response body.
The body of the message is used for most responses. The exceptions are where a server is using certain status codes and where the server is responding to a client request, which asks for the headers but not the response body.
For a response to a successful request, the body of the message contains either some information about the status of the action which is requested by the client or the resource which is requested by the client. For the response to an unsuccessful request, the body of the message might provide further information about some action the client needs to take to complete the request successfully or about the reason for the error.