Observe controlled HTTP behavior

Predict a result, run one allowlisted request, and connect the observation to the protocol rule. Every lesson remains readable without JavaScript or the Worker.

Read responses

Observe selected HTTP status codes

Observe how fixed success, redirect, client-error, and rate-limit statuses appear to a client.

Observe: Each allowlisted choice returns its fixed status and bounded representation.

Observe compression negotiation

Observe how Accept-Encoding, Content-Encoding, and Vary participate in one bounded response.

Observe: The fixed response selects identity or gzip from supported request preferences.

Follow request flow

Compare methods across redirects

Compare historical method rewriting with explicit method-preserving redirect semantics.

Observe: Fixed 301 and 302 paths can demonstrate permitted historical POST-to-GET behavior.

Follow a bounded redirect chain

Observe that a redirect chain is a sequence of separate exchanges, not one response.

Observe: Each fixed hop has its own status and relative Location value.

Observe a CORS preflight

Observe how a browser asks permission for a method and fields before sending the intended request.

Observe: The safelisted request proceeds without an OPTIONS preflight.

Understand reuse

Observe cache freshness

Observe the difference between a fresh stored response and one that requires another cache decision.

Observe: The fixed representation has an explicit short freshness lifetime.

Observe ETag revalidation

Observe how If-None-Match can validate a stored representation without retransmitting it.

Observe: An unconditional request returns a fixed representation and entity tag.

Safety boundary

Controlled scenarios only

The Lab never accepts an arbitrary destination, credential, script, or unbounded body. Cookie scope remains a static draft until a same-site production origin can be verified; this preview makes no cross-site claim.