Intermediate ยท 5h 40m ยท 20 lessons
Server Basics
What a server really is, how it routes requests, and how to run one.
What you'll learn
- โฆExplain what a server does, and how ports and
localhostpick the program that answers - โฆTrace a request from client to route to handler to response, including the DNS lookup
- โฆBuild routes that map a method and a path to a handler, and return the correct status code
- โฆSet the right headers and content type on a response, and check them with curl
- โฆConfigure a server with environment variables and keep secrets out of code and git
- โฆDiagnose problems from logs and errors, and inspect a server with common shell commands
- โฆDescribe how a server is built, kept running and deployed behind a reverse proxy over HTTPS
- โฆConnect a server to a database, chain middleware, and keep users logged in with sessions
- โฆDecide when to cache, rate-limit and health-check a server so it stays fast and observable
Part of these career paths
- Backend Developer path ยท course 6 of 14
- Full-Stack Developer path ยท course 6 of 14
- DevOps & Cloud path ยท course 3 of 6
Certification projects
Build 4 projects to earn your certificate
Hands-on work that proves you can apply what you learned โ part of the certificate requirements.
Syllabus
Module 1 ยท 1h 7m
Servers 101 Free
What you'll be able to do
- Can explain that a server is a program waiting for requests, and spot the client and the server in any exchange
- Can predict where a localhost:port address leads, and fix an "address already in use" error
- Can read a raw HTTP request and response, and trace it from route match to handler to reply
- Can explain how DNS turns a domain into an IP address, and work out how long a TTL delays a change
Module 2 ยท 1h 35m
Routing & responses Locked
What you'll be able to do
- Can write routes that pair a method with a path, and predict which handler a request reaches
- Can choose the right HTTP method, including PUT vs PATCH, and explain why a repeated POST duplicates
- Can pick an honest status code for each case in a handler: 200, 201, 400, 401, 403, 404 or 500
- Can set Content-Type and Content-Length correctly, and check a response's headers with curl
Module 3 ยท 1h 30m
Running real servers Locked
What you'll be able to do
- Can configure a server with environment variables and keep secrets out of code, git and front-end bundles
- Can read request logs to find a failing route, and handle errors without crashing the server
- Can move around a server in the shell and check whether the app is running
- Can describe build, process manager, reverse proxy and load balancer, and validate input on the server behind HTTPS
Module 4 ยท 45m
Talking to data & services Locked
What you'll be able to do
- Can explain why only the server connects to the database, and send user input through placeholders
- Can work out how many queries per second a connection pool can finish
- Can put middleware in the right order and predict when it ends a request early
- Can trace how a session cookie keeps a user logged in, and pick safe cookie flags
Module 5 ยท 43m
Scaling & staying healthy Locked
What you'll be able to do
- Can choose which responses to cache and work out when a cached copy expires
- Can explain a 429 and work out which calls a fixed-window rate limit lets through
- Can decide what to rate-limit by (IP address, user or API key) for a given attack
- Can write a health check and pick the metric that shows a slow or failing server