HTTP basics: reading requests and responses in the browser

This course is for anyone who browses the web but has never looked under the hood. You will learn what an HTTP request and response actually are, how to read them inside your browser's developer tools, and how to explain—step by step—what happened when a page loaded.

By the end you'll be able to (course objectives):

  • Explain the roles of the browser, the server, and the URL in a single page load.
  • Read an HTTP request and identify its method, path, and headers.
  • Read an HTTP response and identify its status code and body.
  • Open the Network panel in browser developer tools and find a specific request.
  • Read a real page load: identify the document request, its subresources, and the waterfall of timing.
  • Look at a status code and decide whether the problem is on the client side, the server side, or a redirect.

Prerequisites: None. You only need a web browser and curiosity.

Practice environment: Your own browser (Chrome, Edge, Firefox, or Safari). This course has no embedded sandbox; every exercise asks you to look at real web pages.

Lessons

#TopicYou'll learn
01You hit Enter — who starts the conversation?Browser, server, URL, and the request/response pair
02The request envelope: method, address, and headersHTTP method, path, and request headers
03The response envelope: status code and what it meansStatus code, status classes, and response body
04Open the browser's X-ray: the Network panelDeveloper tools, Network panel, and the request list
05Read a real page load from start to finishDocument request, subresources, and the waterfall
06What to say when something goes wrongClient errors (4xx), server errors (5xx), and redirects (3xx)

Sources and further reading are listed in sources.md.