What is HTTP?
As almost every reader of this book is likely to be shouting at its pages already, let's go on to HTTP. As should already be obvious, HTTP is a protocol implemented and leveraged by software that lives in the application layer of the OSI network stack. It's the primary mechanism of communication for applications exposed through the internet, and is designed for the transfer of hypermedia over a network. Hypermedia typically refers to hypertext documents that contain multimedia information, as well as hyperlinks that can be used to navigate to and load additional resources from other remote hosts.
The transfer component of HTTP is, fundamentally, a request/response protocol that assumes a client-server relationship between hosts in an active HTTP session. To understand how this is done, let's start with the notion of a client-server relationship.