Server processes the request, and responds to the client.
The GET verb asks the server for the content at a given URL. The client may specify extra parameters for the server. These query parameters can be seen on the URL in the browser: "http://www.yahoo.com/search?q=java".
The POST verb sends data to the server to be processed. This data is packaged in the request a well defined format, and is not visible in the browser. The server responds in the same way as with GET requests.
Headers are name value pairs that precede the request or response data. These can indicate such informations as what type of data is being sent, how long it is, and what type of client/server is doing the sender.
Example:
At the command prompt: telnet www.google.com 80
When connected type exactly: GET /index.html HTTP/1.1
Hit enter twice - this sends the request.
Note the response code - "200 OK" means the server processed the request successfully.
Note the headers: Content-Type, Content-Length, a cookie, and the web server type.