1/19
Looks like no tags are added yet.
Domain name
The human-friendly name of a site, like google.com. Analogy: the restaurant's name.
IP address
The number computers use to find each other, like 142.250.80.46. Analogy: the restaurant's street address.
DNS
The system that translates a domain name into an IP address. Analogy: looking the restaurant up in Maps.
Port
A numbered door on a server, each for a specific service. Analogy: which entrance you use.
Port 443
The standard port for HTTPS, the secure web. The main entrance.
Port 80
The standard port for plain HTTP, the unencrypted web.
Port 22
The standard port for SSH, remote login to a machine. Analogy: the staff door.
HTTP request
The message a browser sends asking for something, like GET the home page. Analogy: your order.
HTTP response
The server's reply: a status code, headers, and the content. Analogy: the waiter's reply plus the food.
Status code 200
OK. The request worked and the content came back.
Status code 404
Not Found. The server was reached, but that page doesn't exist.
Status code 500
Internal Server Error. The server itself broke. Analogy: the kitchen's on fire.
NXDOMAIN
DNS has no record for that name, so you never reach any server. The chain broke at the DNS lookup.
404 vs NXDOMAIN
404: you reached the server but the page is missing. NXDOMAIN: DNS failed, so you never arrived at all.
nslookup
A terminal command that asks DNS for a domain's IP address.
ping
A terminal command that checks whether a host is reachable and measures the round trip in milliseconds.
curl -I
Sends an HTTP request and shows only the response headers, including the status code.
The six stops of a web request
How to debug a site that's down
Check each stop in order: does DNS resolve (nslookup), is the host reachable (ping), and what status code comes back (curl -I).
Interview: What happens when you type a URL into a browser?
The browser resolves the domain to an IP with DNS, connects to that IP on port 443 and sets up encryption, sends an HTTP GET request, and the server returns a status code like 200 plus the HTML, which the browser renders.