Read a real request and a real response, and learn what 200, 404 and 500 actually mean.
Open this lesson in KodokonHTTP (HyperText Transfer Protocol) is the language the browser and the server speak to each other. Good news: it is not incomprehensible binary, it is readable text. A request fits in a few lines: a verb, an address, then headers that fill in the context (which language I prefer, which browser I am using). The response follows the same shape: a numeric code, headers, a blank line, then the content.
curl -i https://example.com
HTTP/2 200
content-type: text/html; charset=UTF-8
content-length: 1256
cache-control: max-age=86400
<!doctype html>
<html>
...The verb at the start of a request is called a method, and it announces your intent. GET simply asks to read a resource: that is what the browser does every time you open a page. POST sends data to the server, typically when you submit a signup form. PUT updates an existing item, and DELETE asks for it to be removed. Focus on the first two: they account for the overwhelming majority of all traffic.
curl -X POST -d "name=Sarah&age=30" https://httpbin.org/postEvery response starts with a three-digit status code. The first digit alone tells you the situation. Codes in the 2xx range mean success: 200 means "here is what you asked for". The 3xx codes are redirects: 301 means "this page has moved, go over there instead". The 4xx codes point to an error on the client side: 404 (resource not found), 403 (access forbidden), 401 (you need to sign in). The 5xx codes point to a failure on the server side: 500 is the classic internal error.
curl -I https://example.com/this-page-does-not-exist
HTTP/2 404
content-type: text/html; charset=UTF-8