packet notes

Back to index / http.html

HTTP response headers

A response has more to say than its body. Status codes and headers help distinguish a redirect, a cached document and an application error.

Request headers only

curl -I https://example.com/

This normally sends a HEAD request. Some applications handle HEAD differently from GET. To inspect a normal GET response while discarding the body, use:

curl -sS -D - -o /dev/null https://example.com/

Follow redirects deliberately

curl -sS -L -D - -o /dev/null https://example.com/

With -L, multiple header blocks may appear. Read the final response as well as the redirect chain. Do not include private tokens or account-specific URLs in shared command examples.

Understand cache metadata

  • Cache-Control describes caching directives.
  • ETag is a validator that can be used in a conditional request.
  • Last-Modified reports a modification timestamp when the server supplies one.
  • 304 Not Modified tells a client that its validated cached representation can be reused.

These headers describe response behavior. They are not a reliable inventory of the software behind a website.

Further reading: RFC 9110: HTTP Semantics.