Backend (Day 2), endpoint (Day 7), request and response (Days 8 and 9), status code (Day 10), port (Day 28). The server is the thing all of those happen on.
Two meanings, both correct:
The hardware: a computer that stays on and is reachable over a network. Often in a data center, sometimes just a laptop on localhost.
The software: a program that listens on a port, accepts requests, runs your backend code, and sends responses.
A web server (nginx, Apache) mostly hands out files and forwards requests. An application server runs your code. A database server answers queries. One machine can run all three.
When you type npm run dev and it says "Listening on port 3000", you've started a server. The difference between that and production is who can reach it and whether it stays up.
Quick check: Your app's backend crashed, but you can still ping the machine it was on. Is "the server" down?
## SPOKEN LINES
- The feed takes twenty seconds and you blame your phone. The machine doing the work sits in a building you will never see.
- - SERVER
- - A server is a computer whose job is to wait for requests and answer them. Your phone asks for the feed, and the server sends the posts back.
- - Instagram runs on machines in a data center that never switch off. Your laptop running a program on port 3000 is a server too. And the server is down can mean the machine or the program.
- - So a server is a computer or program that answers requests. Tomorrow: Hosting, where that server lives once it is not your laptop.
- ## NEXT
- Day 30: Hosting