Challenge 1: Tracing the Full Request/Response Cycle — Solution Walkthrough The steps, in order: 1. The user clicks a link. The browser resolves the domain name to an IP address (DNS) and opens a TCP connection to that address on the web server's listening port (typically 80 for HTTP, 443 for HTTPS). 2. The browser sends an HTTP request over that connection: a method (GET, for loading a page), the requested path, and a set of headers (e.g. which browser it is, what content types it accepts). 3. The web server receives the request, parses it, and determines what to do with it — in this case, a plain HTML page, so it reads the matching file from disk. 4. The web server sends back an HTTP response: a status code (200 OK, if everything went well), response headers (e.g. content type: text/html), and the body — the actual HTML content of the page. 5. The browser receives the response, parses the HTML, and requests any additional resources it references (CSS, images, scripts), each one repeating this same request/response cycle. 6. The browser renders the final assembled page on screen. WHY THIS WORKS AS AN ANSWER ------------------------------ This exercise checks that the request/response cycle from this chapter's own "What 'Serving a Website' Actually Means" section is understood as a concrete sequence of steps, not just an abstract phrase — naming DNS resolution, the TCP connection, the request/ response pair, and the browser's own follow-up requests for referenced resources covers the full picture the chapter introduced.