Practise Networking for Developers one question at a time. Answer out loud or in writing, get graded, and see exactly what you missed.
What happens when you type a URL into a browser and hit Enter?
The browser finds the server, asks it for the page, and renders what comes back, in a fixed sequence of small steps.
- It parses the URL into scheme, host and path.
- It resolves the hostname into an IP address through DNS.
- It opens a TCP connection to that server on the right port. For HTTPS, a TLS handshake then sets up encryption.
- It sends an HTTP request for the path. The server replies with a status code and usually an HTML body.
- It parses the HTML and fetches the stylesheets, scripts and images it finds, often over the same connection. Then it renders the page.
Each step adds delay, so a slow page usually has one clear culprit, and knowing the sequence tells you where to look first.
Missed:
“So first the browser checks if it already knows the address, since the browser and the OS both keep a cache. If not, it asks a recursive resolver, usually the ISP's or a public one like 8.8.8.8. On a miss the resolver walks down the hierarchy: a root server tells it who handles .com, the .com server tells it which nameserver is authoritative for that domain, and the authoritative server gives back the actual IP. The resolver caches that answer for the record's TTL and hands it back, and then the browser can open the connection.”
Knew itCovers the browser/OS cache check, resolver hierarchy from root to TLD to authoritative server, and TTL caching. Doesn't mention that this lookup adds latency on the critical path before the real request starts.
Missed: Doesn't note that this lookup happens before the actual request and adds real latency on a cache miss
Get your own answers graded
Sign up free. Your account comes with 50 credits for grading, and it remembers what you missed.
What it covers
All 51 questions
Layers, addresses and URLs
How a request gets from a typed URL to a process on a server: network layers, IP addresses, ports, sockets and URL parts.
- What happens when you type a URL into a browser and hit Enter?
- What is a socket, and what does it represent to your program? Pro
- What is an IP address, and how does a port identify a process? Pro
- What are the parts of a URL, and what does each part control? Pro
- What is the OSI model, and how does it map to the TCP/IP model? Pro
DNS resolution
How hostnames become IP addresses: resolvers, record types, caching and TTL, and why DNS runs on UDP with a TCP fallback.
TCP and UDP transport
TCP versus UDP, and how TCP opens, delivers reliably and in order, applies flow control and closes a connection.
- What is the difference between TCP and UDP, and when do you use each?
- What is the TCP three-way handshake, and why does it exist?
- How does TCP guarantee reliable, in-order delivery of a byte stream? Pro
- How does a TCP connection close gracefully, and what is the FIN exchange? Pro
- How does TCP flow control use the receive window to apply backpressure? Pro
HTTP methods and status codes
What each HTTP method does, safe versus idempotent methods, choosing PUT, PATCH or POST, and what status codes and redirects mean.
- What are the common HTTP methods, and what does each one do?
- What do the 2xx, 3xx, 4xx, and 5xx status code families mean?
- What makes an HTTP method safe versus idempotent, and why does it matter? Pro
- When do you use PUT versus PATCH versus POST for updates? Pro
- What is the difference between a 301 and a 302 redirect? Pro
Cookies, sessions and caching
How stateless HTTP keeps users logged in with cookies, which cookie attributes protect sessions, and how browser caching revalidates.
- What is a cookie, and how does a server use it across requests? Pro
- How does browser caching work with Cache-Control, ETag, and revalidation? Pro
- What do the Secure, HttpOnly, and SameSite cookie attributes each protect against? Pro
- HTTP is stateless, so how do applications keep users logged in? Pro
TLS and HTTPS
What HTTPS adds over HTTP, the TLS handshake, how certificate chains are verified, and what TLS 1.3 and 0-RTT change.
HTTP versions and multiplexing
Head-of-line blocking in HTTP/1.1, how HTTP/2 multiplexes streams yet still stalls on TCP, and how HTTP/3 over QUIC fixes it.
Real-time and streaming
Pushing data as it happens: WebSocket upgrades, Server-Sent Events, long polling and chunked responses of unknown length.
Connection reuse and pooling
Keep-alive and connection pools, sizing a pool, the stale keep-alive race, and how TIME_WAIT and connection churn exhaust ports.
- What is HTTP keep-alive, and why do persistent connections matter? Pro
- Why does connection pooling matter, and what cost does it save? Pro
- What is TCP TIME_WAIT, and how can it exhaust ports at scale? Pro
- How does ephemeral port exhaustion happen under heavy outbound connection churn? Pro
- What race occurs when a client reuses a keep-alive connection the server just closed? Pro
- How do you size a connection pool, and what breaks when it saturates? Pro
Latency and TCP performance
Latency versus bandwidth, round-trip costs, slow start, Nagle and delayed ACK, bandwidth-delay product, MTU, and finding a slow phase.
- What is the difference between latency and bandwidth, and why does it matter? Pro
- How does round-trip time shape the cost of opening a new HTTPS connection? Pro
- How does TCP slow start throttle throughput at the start of a connection? Pro
- How do Nagle's algorithm and delayed ACK combine to add surprising latency? Pro
- What is the bandwidth-delay product, and why does it cap throughput on long links? Pro
- How do MTU and MSS affect large transfers, and what is path MTU discovery? Pro
- How do you diagnose a slow request across DNS, TCP, TLS, and server time? Pro
Retries, timeouts and resilience
Making clients survive failure: idempotency keys, backoff with jitter, connect versus read timeouts, and preventing cache stampedes.
All questions
Showing of 51What happens when you type a URL into a browser and hit Enter?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
The browser finds the server, asks it for the page, and renders what comes back, in a fixed sequence of small steps.
- It parses the URL into scheme, host and path.
- It resolves the hostname into an IP address through DNS.
- It opens a TCP connection to that server on the right port. For HTTPS, a TLS handshake then sets up encryption.
- It sends an HTTP request for the path. The server replies with a status code and usually an HTML body.
- It parses the HTML and fetches the stylesheets, scripts and images it finds, often over the same connection. Then it renders the page.
Each step adds delay, so a slow page usually has one clear culprit, and knowing the sequence tells you where to look first.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
How does DNS turn a website hostname into an IP address?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Your machine asks a resolver, which answers from its cache or walks the DNS hierarchy down to the server that owns the name. The resolver is usually run by your ISP or a public service. DNS works like a phone book that maps names to addresses.
On a cache miss, the resolver starts at a root server, which points to the top-level domain server for .com. That server points to the authoritative server for the domain. The authoritative server returns the actual IP address, and the resolver hands it back to your program.
The lookup happens before any real request, so it sits on the critical path. A cold lookup can add tens of milliseconds. Caching along the way keeps most lookups fast.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the difference between TCP and UDP, and when do you use each?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
TCP gives you a reliable, ordered stream, while UDP gives you fast, best-effort messages. TCP sets up a connection, tracks every byte and resends lost data. It delivers bytes in order, so what you send arrives whole.
UDP just fires packets with no handshake and no retries. Packets can arrive late, out of order, or not at all. In exchange it has almost no overhead and lower latency.
Reach for TCP when correctness matters, as in web pages and APIs. File transfers and databases need it too. Reach for UDP when speed beats completeness, as in live video and voice calls. Games and DNS lookups use it for the same reason. Losing one frame of video beats stalling the whole stream.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What are the common HTTP methods, and what does each one do?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
An HTTP method tells the server what action you want on a resource, and each request names one method up front.
GETfetches a resource without changing it.POSTsubmits data, often to create something new.PUTreplaces a resource with the body you send.PATCHupdates part of a resource.DELETEremoves the named resource.HEADfetches only the headers, no body.
The choice matters because caches, proxies and browsers treat methods differently. A GET can be cached and prefetched, but a POST usually cannot. The wrong one causes surprising behavior and confuses anyone reading your API.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What do the 2xx, 3xx, 4xx, and 5xx status code families mean?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
The first digit of a status code names its family, which says whether the request worked and who is at fault. You can react to the family before reading the exact code.
2xxis success, like200OK or201Created.3xxis a redirect, used when the resource moved or has not changed.4xxis a client error, like404Not Found or401Unauthorized.5xxis a server error on a valid request.
The family guides retries and blame. Resending a 4xx rarely helps, but a retry after a 5xx often works, since the fault sits on the server.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the difference between HTTP and HTTPS, and why does it matter?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
HTTPS is plain HTTP wrapped inside an encrypted TLS connection. HTTP sends everything as readable text over the wire. HTTPS scrambles it, so anyone in between sees only noise.
The TLS layer does three jobs. It hides the content from eavesdroppers. It proves you reached the real server, not an impostor. It detects any tampering with the bytes in transit.
This matters because networks are full of untrusted hops, such as coffee-shop WiFi, ISPs and proxies. Without HTTPS, passwords and cookies travel in the clear. Browsers now mark plain HTTP pages as not secure, so HTTPS is the default. That is why login pages and payment forms always use it.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the TCP three-way handshake, and why does it exist?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
The three-way handshake is how two machines agree to start a TCP connection. It takes three messages before any real data flows. Both sides pick a starting sequence number and confirm they can hear each other.
client -> SYN (let's talk, my seq = x)
server -> SYN-ACK (ok, my seq = y, got your x)
client -> ACK (got your y, let's go)
SYN means synchronize and ACK means acknowledge. The client's SYN proposes its own starting number. The server's SYN-ACK accepts that number and proposes its own. The final ACK confirms the server's number, so both sides agree.
It exists because TCP promises ordered, reliable delivery, and that promise needs both sides to sync sequence numbers first. The handshake also confirms the path works in both directions. The cost is one round trip of delay before you send data.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is a socket, and what does it represent to your program?
What is the difference between latency and bandwidth, and why does it matter?
What is an IP address, and how does a port identify a process?
What is a cookie, and how does a server use it across requests?
What are the parts of a URL, and what does each part control?
What is the OSI model, and how does it map to the TCP/IP model?
What makes an HTTP method safe versus idempotent, and why does it matter?
When do you use PUT versus PATCH versus POST for updates?
How does TCP guarantee reliable, in-order delivery of a byte stream?
How does a TCP connection close gracefully, and what is the FIN exchange?
What are the steps of a TLS handshake, and what does each achieve?
What is HTTP keep-alive, and why do persistent connections matter?
What is head-of-line blocking, and how does it hurt HTTP/1.1?
How does HTTP/2 improve on HTTP/1.1 for real web applications?
How does browser caching work with Cache-Control, ETag, and revalidation?
What do the Secure, HttpOnly, and SameSite cookie attributes each protect against?
Why does connection pooling matter, and what cost does it save?
How do DNS caching and TTL affect how fast record changes propagate?
What are the common DNS record types, and what is each used for?
How does round-trip time shape the cost of opening a new HTTPS connection?
What is the difference between a 301 and a 302 redirect?
How does a client verify a server's TLS certificate and its chain?
Why does DNS use UDP, and when does it fall back to TCP?
HTTP is stateless, so how do applications keep users logged in?
How does a WebSocket connection upgrade from an ordinary HTTP request?
How do WebSockets, Server-Sent Events, and long polling compare for real-time updates?
How does HTTP/2 multiplexing still suffer from TCP head-of-line blocking?
How does HTTP/3 use QUIC over UDP to solve that blocking?
What does TLS 1.3 change, and why is 0-RTT resumption risky?
How does TCP slow start throttle throughput at the start of a connection?
How do Nagle's algorithm and delayed ACK combine to add surprising latency?
What is TCP TIME_WAIT, and how can it exhaust ports at scale?
How does ephemeral port exhaustion happen under heavy outbound connection churn?
What is the bandwidth-delay product, and why does it cap throughput on long links?
How does chunked transfer encoding stream a response of unknown length?
How do you make a non-idempotent request safe to retry?
How do you design retries with backoff and jitter to avoid retry storms?
How do connect timeouts and read timeouts differ, and how do you pick them?
What race occurs when a client reuses a keep-alive connection the server just closed?
How do you size a connection pool, and what breaks when it saturates?
How does a cache stampede happen, and how do you prevent it?
How does TCP flow control use the receive window to apply backpressure?
How do MTU and MSS affect large transfers, and what is path MTU discovery?
How do you diagnose a slow request across DNS, TCP, TLS, and server time?
This answer is part of Pro.
The full written answer, with the trade-offs and follow-ups an interviewer will probe.
No matches
Try a different filter or search term.
Networking for Developers in pictures.
A quick recap of Networking for Developers in 30 short animated pictures, one idea at a time. About 8 min to get the whole topic back in your head before you walk in. Pause any picture, slow it down, or step through it.
Pro The first chapter is free to play. The other 26 pictures come with Pro.
Networking for Developers cheatsheet
- Layers, addresses & latency01
- DNS lookups & records02
- TCP & UDP03
- TCP speed & port limits04
- TLS & HTTPS05
- HTTP methods & status codes06
- Caching, cookies & sessions07
- HTTP versions & WebSockets08
- Pools, timeouts & retries09
- The model10
- + 4 more inside
This picture is part of Pro. The first chapter is free to play; the other 26 pictures come with Pro.
Get Pro · $10/mo Already Pro? Sign in44 of 51 Networking for Developers answers are in Pro.
Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.
- Full answers + code
- AI explanations, simpler or deeper
- 1,000 AI credits / month
- Cancel anytime
Change topic
Pick a different technology or stack. Your current topic stays put until you choose a new one.
MEAN
MongoDB, Express, Angular, Node.jsMERN
MongoDB, Express, React, Node.jsDjango
Python Full-Stack DevelopmentRuby on Rails
Convention over ConfigurationServerless on AWS
Serverless Architecture on AWSInterviewers also test these - they're common to every stack, whichever one you picked above.
Flutter Mobile
Flutter Cross-Platform Mobile DevelopmentInterviewers also test these - they're common to every stack, whichever one you picked above.
Spring Boot
Enterprise Java Development.NET
Microsoft EcosystemVue
Vue.js, Vite, TypeScript, Tailwind, Node.jsGo Backend
Golang, gRPC, PostgreSQL, Redis, RabbitMQInterviewers also test these - they're common to every stack, whichever one you picked above.
FastAPI
Python, FastAPI, SQLAlchemy, PostgreSQLReact Native
React, TypeScript, Redux, FirebaseiOS Native
Swift, SwiftUI, UIKit, FirebaseAndroid Native
Java, Jetpack Compose, FirebaseDevOps / Platform
Docker, Kubernetes, Terraform, CI/CDInterviewers also test these - they're common to every stack, whichever one you picked above.
AI Engineer
LLMs, RAG, Agents, EvalsAI-Powered Developer
Claude Code, Copilot, Agentic WorkflowsCore SWE Interview Prep
Data structures, algorithms, OS, concurrency, networking, gitInterviewers also test these - they're common to every stack, whichever one you picked above.
Interviewers also test these - they're common to every stack, whichever one you picked above.