Explore HTTP by connected concepts
Each topic brings together distinct lessons, exact protocol lookups, diagnostic paths, and controlled observations without creating duplicate keyword pages.
browser compatibility
browsers
Troubleshoot
A browser does not send a cookie
Diagnose cookie storage and request selection separately from CORS response access.
Troubleshoot
A browser reports a CORS error
Find which CORS flow step failed and preserve the HTTP response evidence the browser received.
Lab
Observe a CORS preflight
Observe how a browser asks permission for a method and fields before sending the intended request.
Learn
Understand the browser CORS flow
CORS is a browser response-sharing protocol layered on HTTP, not proof that the network request failed.
caching
Reference
304 Not Modified
A 304 response confirms that a conditional request can reuse its stored representation.
Troubleshoot
A conditional request does not return 304
Match the request condition to the current selected representation before expecting 304.
Troubleshoot
A page still looks stale after deployment
Identify which layer served an old representation and validate the cache key and freshness evidence.
Glossary
Cache validator
A cache validator is representation metadata a recipient can use in a conditional request.
Reference
Cache-Control field
Cache-Control carries case-insensitive directives that constrain caching and reuse.
Reference
ETag field
ETag carries an opaque validator for the selected representation.
Reference
max-age cache directive
Response max-age defines a freshness lifetime in seconds from response generation.
Reference
no-cache cache directive
no-cache requires validation before reuse; it does not mean do not store.
Lab
Observe cache freshness
Observe the difference between a fresh stored response and one that requires another cache decision.
Lab
Observe ETag revalidation
Observe how If-None-Match can validate a stored representation without retransmitting it.
Learn
Understand HTTP caching and validation
Follow the decisions a cache makes from storage through freshness and validator-based reuse.
Reference
Vary field
Vary tells recipients which request fields influenced representation selection.
cdn
Troubleshoot
A page still looks stale after deployment
Identify which layer served an old representation and validate the cache key and freshness evidence.
Troubleshoot
HTTP fields change behind a proxy or CDN
Compare the same exchange at adjacent controlled hops before attributing a field change to the origin.
Learn
Trace HTTP through proxies and CDNs
Treat every intermediary as a possible HTTP peer and identify the hop that produced an observation.
client errors
compression
conditional requests
Reference
304 Not Modified
A 304 response confirms that a conditional request can reuse its stored representation.
Glossary
Cache validator
A cache validator is representation metadata a recipient can use in a conditional request.
Lab
Observe ETag revalidation
Observe how If-None-Match can validate a stored representation without retransmitting it.
content negotiation
cookies
Troubleshoot
A browser does not send a cookie
Diagnose cookie storage and request selection separately from CORS response access.
Learn
Separate cookies, origins, and sites
Keep host and path cookie scope distinct from origin and same-site browser boundaries.
Reference
Set-Cookie field
Set-Cookie asks a user agent to store one cookie with explicit attributes.
cors
Troubleshoot
A browser reports a CORS error
Find which CORS flow step failed and preserve the HTTP response evidence the browser received.
Troubleshoot
A CORS preflight request fails
Compare the browser's requested CORS permission with the exact preflight response.
Lab
Observe a CORS preflight
Observe how a browser asks permission for a method and fields before sending the intended request.
Reference
Origin field
Origin identifies the source origin associated with a request without a path.
Learn
Understand the browser CORS flow
CORS is a browser response-sharing protocol layered on HTTP, not proof that the network request failed.
diagnostics
Troubleshoot
A browser does not send a cookie
Diagnose cookie storage and request selection separately from CORS response access.
Troubleshoot
A browser reports a CORS error
Find which CORS flow step failed and preserve the HTTP response evidence the browser received.
Troubleshoot
A conditional request does not return 304
Match the request condition to the current selected representation before expecting 304.
Troubleshoot
A CORS preflight request fails
Compare the browser's requested CORS permission with the exact preflight response.
Troubleshoot
A page still looks stale after deployment
Identify which layer served an old representation and validate the cache key and freshness evidence.
Troubleshoot
A redirect keeps repeating
Find the first repeated target and the layer that generated it before changing redirect rules.
Troubleshoot
A request method changed after a redirect
Trace the redirect status and follow-up request before changing client or server behavior.
Lab
Follow a bounded redirect chain
Observe that a redirect chain is a sequence of separate exchanges, not one response.
Troubleshoot
HTTP fields change behind a proxy or CDN
Compare the same exchange at adjacent controlled hops before attributing a field change to the origin.
directives
fields
Reference
Cache-Control field
Cache-Control carries case-insensitive directives that constrain caching and reuse.
Learn
Connect HTTP fields to representations
Read HTTP fields as typed metadata and connect selected representations to media types and negotiation.
Reference
ETag field
ETag carries an opaque validator for the selected representation.
Troubleshoot
HTTP fields change behind a proxy or CDN
Compare the same exchange at adjacent controlled hops before attributing a field change to the origin.
Reference
Location field
Location identifies a URI reference associated with a redirect or successful creation.
Reference
Origin field
Origin identifies the source origin associated with a request without a path.
Learn
Read HTTP messages without guessing
Read the parts of an HTTP message and know which details are shared across HTTP versions.
Reference
Set-Cookie field
Set-Cookie asks a user agent to store one cookie with explicit attributes.
Reference
Vary field
Vary tells recipients which request fields influenced representation selection.
framing
freshness
Reference
max-age cache directive
Response max-age defines a freshness lifetime in seconds from response generation.
Lab
Observe cache freshness
Observe the difference between a fresh stored response and one that requires another cache decision.
Learn
Understand HTTP caching and validation
Follow the decisions a cache makes from storage through freshness and validator-based reuse.
http versions
idempotency
intermediaries
messages
Lab
Observe selected HTTP status codes
Observe how fixed success, redirect, client-error, and rate-limit statuses appear to a client.
Learn
Read HTTP messages without guessing
Read the parts of an HTTP message and know which details are shared across HTTP versions.
Learn
Understand the HTTP request-response cycle
Learn the roles, direction, and observable boundaries of a single HTTP request and response.
metadata
methods
Troubleshoot
A request method changed after a redirect
Trace the redirect status and follow-up request before changing client or server behavior.
Learn
Choose an HTTP method by its semantics
Choose methods from their defined semantics and understand why retries and redirects treat them differently.
Lab
Compare methods across redirects
Compare historical method rewriting with explicit method-preserving redirect semantics.
Reference
GET method
GET requests transfer a current representation of the target resource.
Reference
HEAD method
HEAD asks for the response metadata of GET without transferring response content.
Reference
POST method
POST asks the target resource to process enclosed content according to that resource's semantics.
Learn
Predict HTTP redirects and method handling
Predict a redirect by reading its status, Location value, original method, and client behavior together.
negotiation
origins
Reference
Origin field
Origin identifies the source origin associated with a request without a path.
Learn
Separate cookies, origins, and sites
Keep host and path cookie scope distinct from origin and same-site browser boundaries.
Learn
Understand the browser CORS flow
CORS is a browser response-sharing protocol layered on HTTP, not proof that the network request failed.
preflight
proxies
rate limits
redirects
Reference
301 Moved Permanently
301 identifies a preferred permanent target and permits historical method rewriting for POST.
Troubleshoot
A redirect keeps repeating
Find the first repeated target and the layer that generated it before changing redirect rules.
Troubleshoot
A request method changed after a redirect
Trace the redirect status and follow-up request before changing client or server behavior.
Lab
Compare methods across redirects
Compare historical method rewriting with explicit method-preserving redirect semantics.
Lab
Follow a bounded redirect chain
Observe that a redirect chain is a sequence of separate exchanges, not one response.
Reference
Location field
Location identifies a URI reference associated with a redirect or successful creation.
Learn
Predict HTTP redirects and method handling
Predict a redirect by reading its status, Location value, original method, and client behavior together.
representations
Learn
Connect HTTP fields to representations
Read HTTP fields as typed metadata and connect selected representations to media types and negotiation.
Lab
Observe compression negotiation
Observe how Accept-Encoding, Content-Encoding, and Vary participate in one bounded response.
Learn
Read HTTP messages without guessing
Read the parts of an HTTP message and know which details are shared across HTTP versions.
request content
request response
responses
retries
retrieval
safety
security boundaries
sites
status codes
Reference
200 OK
200 OK reports success, with response content defined in relation to the request method.
Reference
301 Moved Permanently
301 identifies a preferred permanent target and permits historical method rewriting for POST.
Reference
304 Not Modified
A 304 response confirms that a conditional request can reuse its stored representation.
Reference
404 Not Found
404 means the origin did not find a current representation or is unwilling to disclose one.
Reference
429 Too Many Requests
429 reports that the client sent too many requests within the server's chosen counting scope.
Learn
Interpret HTTP status codes in context
Use the status class for orientation, then the exact code and request method for the response meaning.
Lab
Observe selected HTTP status codes
Observe how fixed success, redirect, client-error, and rate-limit statuses appear to a client.
Learn
Predict HTTP redirects and method handling
Predict a redirect by reading its status, Location value, original method, and client behavior together.
success
tls
transport
validation
validators
Troubleshoot
A conditional request does not return 304
Match the request condition to the current selected representation before expecting 304.
Reference
ETag field
ETag carries an opaque validator for the selected representation.
Lab
Observe ETag revalidation
Observe how If-None-Match can validate a stored representation without retransmitting it.
