Glossary
Every technical term underlined with dots in a lesson has its short definition here. If you want more, the lesson where it appears explains it in depth.
- ACK
TCP’s confirmation (short for acknowledgment). Its number is the next byte the receiver expects, so it confirms every earlier byte at once.
Explained in phase-0/06-tcp-vs-udp.md
- API
The way a program offers its services to other programs, that is, what you can ask it for and how it answers. The frontend talks to the backend through an API.
Explained in phase-0/01-what-is-the-backend.md
The DNS server that holds the official answer for a zone, such as example.com. Whoever owns the domain chooses it, and it is the last stop on a resolver’s trip.
Explained in phase-0/07-dns.md
- Backend
The part of a website or app you don't see. It's the programs that, on servers, receive requests, store the data and decide what to answer.
Explained in phase-0/01-what-is-the-backend.md
- Cache
A saved copy of an answer, so it doesn’t have to be fetched again. It saves time, at the cost of the copy possibly being stale until it expires.
Explained in phase-0/07-dns.md
- CDN
A network of servers spread around the world that serves a website from the one closest to each user (content delivery network), so the round trip is short. example.com sits behind Cloudflare’s.
Explained in phase-0/09-from-url-to-page.md
- Certificate
A document that binds a domain name to a public key, signed by a certificate authority and with an expiration date. The server sends it at the start of a TLS connection.
Explained in phase-0/08-tls-and-https.md
An organization that checks that whoever requests a certificate controls the domain, and then signs it (CA for short). Browsers and operating systems ship with the list of authorities they trust.
Explained in phase-0/08-tls-and-https.md
- Client
The program that starts the conversation by asking another program, the server, for something. Your browser is a client.
Explained in phase-0/02-the-client-server-model.md
- Database
A program that stores data in an organized way and lets you search and change it quickly, even when many people use it at once. The backend keeps in it whatever needs to last.
Explained in phase-0/01-what-is-the-backend.md
- Datagram
A UDP message. It travels on its own, without a connection, and nobody confirms whether it arrived. It arrives whole or not at all.
Explained in phase-0/06-tcp-vs-udp.md
- Digital signature
A few bytes someone computes from a message with their private key. With the public key, anyone can check that the message hasn’t changed and that the owner of that key signed it.
Explained in phase-0/08-tls-and-https.md
- DNS
The system that turns names such as example.com into IP addresses (and stores other data about the domain, such as its mail servers). It is a database spread across the whole world, organized as a tree of names.
Explained in phase-0/07-dns.md
- DNS record
A piece of data a domain publishes in the DNS, with a type: A (an IPv4 address), AAAA (an IPv6 address), CNAME (an alias for another name), MX (the mail server), TXT (free text) or NS (its DNS servers).
Explained in phase-0/07-dns.md
- Encapsulation
What happens when a message goes down the layers. Each one wraps it in its own header, like an envelope inside another envelope. On arrival, it is unwrapped in reverse order.
Explained in phase-0/04-the-tcp-ip-model.md
- Encryption
Transforming a message with a key so that only someone with the key to decrypt it can read it. If the same key encrypts and decrypts, it is symmetric; if there are two different keys, a public one and a private one, it is asymmetric.
Explained in phase-0/08-tls-and-https.md
- Frontend
The part of a website or app you see and touch. It runs on your device, in the browser or in the phone app, and asks the backend for what it needs.
Explained in phase-0/01-what-is-the-backend.md
- Gateway
The router your computer sends everything that isn’t for its own local network to. At home it is your router, for example 192.168.1.1.
Explained in phase-0/05-ip-ports-and-sockets.md
- Handshake
The exchange of messages two endpoints use to open a connection before sending data. In TCP there are three (SYN, SYN-ACK and ACK), and they cost one round trip.
Explained in phase-0/06-tcp-vs-udp.md
- Header
Information a protocol puts in front of its data to do its job. In HTTP they are text lines of the form “Name: value”, such as Host or Content-Type; in TCP or IP they are binary fields, such as ports or addresses.
Explained in phase-0/03-what-a-protocol-is.md
- HTTP
The protocol of the web. It defines how a client asks a server for resources and how the server answers. It stands for HyperText Transfer Protocol.
Explained in phase-0/03-what-a-protocol-is.md
- HTTPS
HTTP inside a TLS connection, usually on port 443. Nobody along the way can read or change the requests and responses, and the browser uses a certificate to check that the server really belongs to the domain.
Explained in phase-0/08-tls-and-https.md
- IP address
The number that identifies a computer on a network, for example 192.168.1.133 (IPv4) or 2606:4700:10::6814:179a (IPv6). It is the address the network layer uses to take each packet to its destination.
Explained in phase-0/05-ip-ports-and-sockets.md
- Latency
How long data takes to get from one place to another. It depends mostly on distance and on the routers along the way, and more bandwidth doesn’t improve it.
Explained in phase-0/09-from-url-to-page.md
- Layer
Each of the levels the job of connecting two programs over a network is split into. Each layer solves a single problem and relies on the one below.
Explained in phase-0/04-the-tcp-ip-model.md
- localhost
A name that always means “this same computer”. When you open localhost:8080, both the client and the server are on your machine.
Explained in phase-0/02-the-client-server-model.md
- MAC address
The identifier of a network card within the local network, such as 3a:7f:c2:19:5e:d4. It only gets as far as the next device; the IP address is what reaches the final destination.
Explained in phase-0/04-the-tcp-ip-model.md
- NAT
Network Address Translation. On the way out to the internet, the router replaces your device’s private IP address with its own public one, and notes the change so it can undo it in the replies.
Explained in phase-0/05-ip-ports-and-sockets.md
- Packet
The unit of data of the network layer. It carries the source and destination IP addresses, and routers pass it from network to network until it reaches its destination.
Explained in phase-0/04-the-tcp-ip-model.md
- Port
A number, from 0 to 65535, that says which program on a computer a connection is for. The computer has an address; each listening program has its port.
Explained in phase-0/05-ip-ports-and-sockets.md
- Private IP address
An IP address that only works inside a local network, such as 192.168.1.133. The same ones are reused in millions of homes, and they can’t be reached from the internet.
Explained in phase-0/05-ip-ports-and-sockets.md
- Private key
The half of a key pair that only its owner knows. It decrypts what was encrypted with its public key and signs messages anyone can check with the public key. If it leaks, it must be replaced.
Explained in phase-0/08-tls-and-https.md
- Process
A running program. When you start a server, the operating system creates a process that stays alive waiting for requests.
Explained in phase-0/02-the-client-server-model.md
- Protocol
An agreement on how two programs communicate: which messages they send, in what format, in what order and what to do if something goes wrong. HTTP, TCP and DNS are protocols.
Explained in phase-0/03-what-a-protocol-is.md
- Public IP address
An IP address that is unique across the whole internet, so a computer can be reached with it from anywhere. At home, it usually belongs to your router and all your devices share it.
Explained in phase-0/05-ip-ports-and-sockets.md
- Public key
The half of a key pair you can show to anyone. It is used to encrypt messages that only the private key will decrypt, and to check the signatures the private key makes.
Explained in phase-0/08-tls-and-https.md
- Request
The message a client sends to a server to ask for something, for example “give me the home page”.
Explained in phase-0/02-the-client-server-model.md
- Resolver
The DNS server your computer asks. It walks the tree of names for you, from the root down, and keeps the answers in its cache. It is usually your internet provider’s or a public one, such as 1.1.1.1 or 8.8.8.8.
Explained in phase-0/07-dns.md
- Response
The message the server sends back to the client after processing its request.
Explained in phase-0/02-the-client-server-model.md
- Retransmission
Resending a segment that nobody acknowledged in time. TCP does it on its own when its timer expires; UDP never does.
Explained in phase-0/06-tcp-vs-udp.md
- RFC
The public documents where the exact rules of internet protocols are written. HTTP/1.1, for example, is defined in RFCs 9110 and 9112.
Explained in phase-0/03-what-a-protocol-is.md
- Router
A device that connects different networks and decides where to forward each packet based on its destination IP address. The one at home connects your local network to your internet provider’s.
Explained in phase-0/04-the-tcp-ip-model.md
- Routing
How each router decides where to forward a packet to bring it closer to its destination. No router knows the whole path, only the next hop.
Explained in phase-0/05-ip-ports-and-sockets.md
- RTT
The round-trip time between two computers. Every handshake costs at least one RTT, so with a faraway server everything starts later.
Explained in phase-0/09-from-url-to-page.md
- Segment
The unit of data of TCP. It carries a header with the ports, the sequence number and the ACK, plus a chunk of the data. It travels inside an IP packet.
Explained in phase-0/06-tcp-vs-udp.md
- Sequence number
The number TCP gives each byte it sends. Each segment carries the number of its first byte (seq), so the receiver knows their order and whether any is missing.
Explained in phase-0/06-tcp-vs-udp.md
- Server
A program that waits for requests and answers them. By extension, the computer it runs on is also called a server.
Explained in phase-0/02-the-client-server-model.md
- Socket
What the operating system gives a program to use the network, with its protocol, IP address and port. A server listens with a socket, and each conversation has a socket at each end, which also knows the other end’s IP address and port.
Explained in phase-0/05-ip-ports-and-sockets.md
- Status code
A three-digit number at the start of every HTTP response that sums up what happened. 200 means “all good”, 404 “that doesn’t exist” and 400 “your request is malformed”.
Explained in phase-0/03-what-a-protocol-is.md
- TCP
The transport layer protocol that makes data arrive complete and in order, and at the right program thanks to ports.
Explained in phase-0/06-tcp-vs-udp.md
- Terminal
An application where you give the computer instructions by typing text instead of clicking. Almost every server is managed this way.
Explained in phase-0/00-introduction.md
- TLS
The protocol that encrypts a connection and uses a certificate to prove the server is who it claims to be (Transport Layer Security). It sits between TCP and HTTP, and HTTP over TLS is HTTPS.
Explained in phase-0/08-tls-and-https.md
- TTFB
The time to the first byte of the response, counted from the start of the navigation. It includes DNS, the handshakes and the wait for the server.
Explained in phase-0/09-from-url-to-page.md
- TTL (in DNS)
The number of seconds a DNS answer may be kept in a cache before asking again (time to live). It has nothing to do with the TTL of IP packets, which counts hops.
Explained in phase-0/07-dns.md
- UDP
The transport layer protocol that sends data without a connection, without confirming it arrives and without ordering it. In exchange, it is simpler and makes nobody wait.
Explained in phase-0/06-tcp-vs-udp.md