Advanced Lesson 3
HTTP Requests
Chapter 2: HTTP
HTTP response
Once you have sent your HTTP request to a server, the server will process your request and give you an HTTP response.
An HTTP response could look like this [taken from Wikipedia]:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 155
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close
<html>
<head>
<title>An Example Page</title>
</head>
<body>
<p>Hello World, this is a very simple HTML document.</p>
</body>
</html>
The first line "HTTP/1.1 200 OK"
is a status line, where the server responds with a status code (200
) and a message (OK
). Code 200
indicates that everything is successful. You might have encountered other codes in your web browsing lifetime: "404"
(Not found), "403"
(Forbidden), "500"
(Internal Server Error), "503"
(Service Unavailable), etc. You can see here for a list of HTTP status codes.
Like an HTTP request, the subsequent lines (up to an empty line) form the response header. Most of them are quite self-explanatory. Take a look at the third line: "Content-Type: text/html; charset=UTF-8"
. The server is telling the client to expect the response to be some HTML code. The response could have also been some other type: a plain text, a JSON string, a PDF, an image, an audio, a zip file, etc.
The optional message body (after the empty line) gives the content of the response, in this case the HTML source code itself.