Every time you open a web page, watch a video, or send a message, two computers are having a very quick conversation. One of them asks for something; the other answers. The one that asks is called the client — that's the device in your hand: your phone, your laptop, the browser you're reading this in. The one that answers is called the server — a powerful computer, kept switched on day and night, whose whole job is to wait for requests and send back what's asked for.
This ask-and-answer arrangement is so common that it has a name: the client–server model. The client sends a request; the server sends back a response. Almost everything you do online — loading a page, logging in, streaming music — is really just a stream of tiny requests and responses flying back and forth.
Here is one complete conversation. Your browser (the client) asks the web server for a page, the server finds it and sends it back, and the browser draws it on your screen. Step through it:
The whole trip usually takes a fraction of a second, and a single page might trigger dozens of these requests — one for the text, more for each image, the styling, and so on.
A server is worth the trouble because it is shared. One server can answer millions of clients, so the video you're watching, or the game everyone plays, lives in one place and everybody's client asks it for a copy. That's why servers are built to be:
Your client, by contrast, only needs to be powerful enough to ask and to show the answer. That division of labour is the whole point of the model.
Not every network has a boss. In a peer-to-peer (P2P) network there is no central server — every computer is an equal peer, and each one can act as both client and server, asking its neighbours for things and answering them in return. Small home networks sharing files, and some file-sharing systems, work this way.
The trade-off: P2P needs no expensive always-on server and keeps working even if one peer drops out, but there's no single trustworthy place to keep the "official" copy of anything, and files can be scattered and slow to find. The client–server model centralises everything in one dependable place; peer-to-peer spreads it out and trusts the crowd.
The web — all those pages you visit — is built directly on the client–server model.
When you type a web address (a URL) like
https://www.example.com and press Enter, this is roughly what happens:
HTTP stands for HyperText Transfer Protocol. A protocol is just an agreed set of rules for a conversation — like both computers speaking the same language and taking turns politely. HTTP is the language browsers and web servers use to pass pages around.
Plain HTTP sends everything as ordinary readable text. That's fine for a public news article, but terrible for your password or bank card number, because anyone able to listen in on the network in between could simply read it.
HTTPS (the S is for Secure) fixes this. It does exactly the same request-and-response job as HTTP, but it encrypts the traffic first — scrambles it into a code that only your browser and the server can unscramble. An eavesdropper in the middle sees only gibberish. Your browser shows a small padlock next to the address when a connection is using HTTPS.
HTTP is not secure — HTTPS is. The single extra letter matters. On plain
http://, everything you send travels in the open and can be read by anyone snooping on
the connection. On https://, it's encrypted, so eavesdroppers see only scrambled
nonsense.
Never type a password, or card or bank details, into a page that isn't on HTTPS.
Before you enter anything private, glance at the address bar: you want to see the padlock and an
address that starts with https://. No padlock, no secrets.
"The cloud" sounds mysterious, but it's the client–server model at enormous scale. The cloud is simply huge numbers of servers, sitting in data centres on the internet, doing work and storing files for you. When your photos "back up to the cloud", they're really being sent — client to server — to a company's servers somewhere and kept safe there. There is no actual cloud; it's just someone else's always-on computers, reached the way any client reaches a server.