Course outline · 0% complete

0/25 lessons0%

Course overview →

Clients, servers, and messages

lesson 1-1 · ~8 min · 1/25

What the internet actually is

The internet is a huge number of computers connected by cables, fiber, and radio, all agreeing to pass messages to each other. That is it. Everything else in this course is detail about how those messages are addressed, delivered, and understood.

Why learn this? Because every program you will ever ship talks over a network, and every outage ticket you will ever get — "the site is down", "the app cannot reach the server", "login broke" — is really the question which link in this chain failed? This course teaches the chain link by link, so those tickets become checklists instead of mysteries.

Two roles matter from day one:

  • A client is the computer that asks for something. Your laptop running a browser is a client. Your phone running an app is a client.
  • A server is a computer that waits for requests and answers them. It is usually an ordinary computer in a data center, running a program that listens for incoming messages.

The conversation always has the same shape: the client sends a request ("give me the homepage"), and the server sends back a response ("here it is" plus the page itself). One request, one response. Web pages, videos, and app data all arrive this way, request by request.

Client(your browser)Server(waits, answers)request: "give me the page"response: "here it is"
The basic shape of everything on the web: a client sends a request, a server sends a response.

Quiz

You open a weather app on your phone and it shows today's forecast. In that exchange, which computer is the client?

Protocols: the agreed rules

For a request to make sense, both sides must agree on the exact format of the messages. That agreement is called a protocol. A protocol is just a written set of rules: what a message looks like, byte by byte, and what each part means.

You will meet a small family of protocols in this course, and each has one job:

ProtocolJob
IPGets a chunk of data to the right computer
TCPMakes delivery reliable (nothing lost, nothing out of order)
DNSTurns names like example.com into addresses
HTTPThe language of web requests and responses
TLSEncrypts the conversation (the S in HTTPS)

Do not memorize this table. You will build each one up slowly, and by the end of the course this table will feel obvious.

Quiz

What is a protocol?