Working with HTTP
The world we live in has a dominant philosophy, a set of concepts and practices that has largely defined information technology for the last 30 years; the client/server paradigm. There are alternatives; centralized computing with dumb terminals, such as mainframe computing, thin client computing with applications such as Citrix, or peer-to-peer computing such as we might see in BitTorrent or blockchain applications. Tim Berners-Lee envisaged the World Wide Web as a peer-to-peer network, but it hasn’t really stayed that way. The client/server model is prevalent. In general, the device on our desk or in our hands is the client, and it is connected to a remote server to receive or manipulate information. It differs from a dumb terminal in that some of the processing is carried out on the client, and some of it on the server.
In this chapter, we’re going to look at how information is exchanged between clients and servers on the internet using the foundational...