Hacker DirectoryHacker Directory

WEB / WEB-09.04

CDN, edge, and origin relationships

Receiving a body from the edge does not mean the origin executed. Separate two-hop ownership using public MISS/HIT and personal bypass.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mechanism

Read every scenario without motion

Public MISS

  1. Prepare request

    Duru prepares GET for the selected harmless representation; neither edge nor origin has received this request.

    Browser / Duru
    GET /catalog ready
    Edge / public cache
    Cache: empty
    Origin / Atlas
    Request absent
  2. Edge received request

    The edge receives the request; body selection and shared storage have not been decided.

    Browser / Duru
    Waiting edge
    Edge / public cache
    GET /catalog received; cache empty
    Origin / Atlas
    Request absent
  3. Outbound request ready

    Local edge policy selects MISS and prepares an outbound GET; lookup is not a network message.

    Browser / Duru
    Waiting edge
    Edge / public cache
    MISS; outbound GET ready
    Origin / Atlas
    Request absent
  4. Origin received request

    The origin receives the edge request while the Browser still awaits the edge response.

    Browser / Duru
    Waiting edge
    Edge / public cache
    MISS; waiting origin
    Origin / Atlas
    GET /catalog received
  5. Origin response ready

    The origin locally prepares the selected harmless body and cache metadata; the edge has not learned the body.

    Browser / Duru
    Waiting edge
    Edge / public cache
    MISS; waiting origin
    Origin / Atlas
    200 ready; Atlas catalog; public, max-age=60
  6. Origin response arrived

    The origin 200 body and metadata reach the edge without changing the Browser’s observed state.

    Browser / Duru
    Waiting edge
    Edge / public cache
    200 received; Atlas catalog; storage pending
    Origin / Atlas
    200 ready; Atlas catalog; public, max-age=60
  7. Delivery decision ready

    The edge stores the body under selected public eligibility and prepares a Browser response, not yet received.

    Browser / Duru
    Waiting edge
    Edge / public cache
    200 ready; Atlas catalog; public v1 stored
    Origin / Atlas
    200 ready; Atlas catalog; public, max-age=60
  8. Browser received response

    Duru learns the body on the final hop; this arrival and origin-to-edge arrival belong to separate exchanges.

    Browser / Duru
    200 received; Atlas catalog
    Edge / public cache
    200 ready; Atlas catalog; public v1 stored
    Origin / Atlas
    200 ready; Atlas catalog; public, max-age=60

Public HIT

  1. Public GET ready

    Duru prepares the public catalog GET; the supplied edge entry is v1 with current age5.

    Browser / Duru
    GET /catalog ready
    Edge / public cache
    Public v1; age5; lifetime60
    Origin / Atlas
    Not contacted
  2. Edge received request

    The edge receives the public GET; reusable-entry selection remains a separate local decision.

    Browser / Duru
    Waiting edge
    Edge / public cache
    GET received; public v1; age5
    Origin / Atlas
    Not contacted
  3. HIT response ready

    Selected key match and5<60 produce a public HIT; no origin request is prepared and the body comes from the local entry.

    Browser / Duru
    Waiting edge
    Edge / public cache
    HIT; 200 ready; Atlas catalog; Age5
    Origin / Atlas
    Not contacted
  4. Cached body arrived

    Duru receives the public body from the edge; this branch shows no new origin execution.

    Browser / Duru
    200 received; Atlas catalog; Age5
    Edge / public cache
    HIT; 200 ready; Atlas catalog; Age5
    Origin / Atlas
    Not contacted
  5. Read the ownership distinction

    The Browser observation is complete; the origin remaining not contacted expresses the shorter delivery path.

    Browser / Duru
    Public body observed
    Edge / public cache
    Public v1 retained
    Origin / Atlas
    Not contacted

Personal bypass

  1. Prepare request

    Duru prepares GET for the selected harmless representation; neither edge nor origin has received this request.

    Browser / Duru
    GET /notes/mine ready
    Edge / public cache
    Cache: public v1 retained
    Origin / Atlas
    Request absent
  2. Edge received request

    The edge receives the request; body selection and shared storage have not been decided.

    Browser / Duru
    Waiting edge
    Edge / public cache
    GET /notes/mine received; cache public v1 retained
    Origin / Atlas
    Request absent
  3. Outbound request ready

    Local edge policy selects bypass and prepares an outbound GET; lookup is not a network message.

    Browser / Duru
    Waiting edge
    Edge / public cache
    bypass; outbound GET ready
    Origin / Atlas
    Request absent
  4. Origin received request

    The origin receives the edge request while the Browser still awaits the edge response.

    Browser / Duru
    Waiting edge
    Edge / public cache
    bypass; waiting origin
    Origin / Atlas
    GET /notes/mine received
  5. Origin response ready

    The origin locally prepares the selected harmless body and cache metadata; the edge has not learned the body.

    Browser / Duru
    Waiting edge
    Edge / public cache
    bypass; waiting origin
    Origin / Atlas
    200 ready; Duru reading note; no-store
  6. Origin response arrived

    The origin 200 body and metadata reach the edge without changing the Browser’s observed state.

    Browser / Duru
    Waiting edge
    Edge / public cache
    200 received; Duru reading note; storage pending
    Origin / Atlas
    200 ready; Duru reading note; no-store
  7. Delivery decision ready

    The edge does not store the no-store personal body; its public entry remains and the Browser response is ready.

    Browser / Duru
    Waiting edge
    Edge / public cache
    200 ready; Duru reading note; not stored; public v1 retained
    Origin / Atlas
    200 ready; Duru reading note; no-store
  8. Browser received response

    Duru learns the body on the final hop; this arrival and origin-to-edge arrival belong to separate exchanges.

    Browser / Duru
    200 received; Duru reading note
    Edge / public cache
    200 ready; Duru reading note; not stored
    Origin / Atlas
    200 ready; Duru reading note; no-store

ACTORS · STATE · DATA FLOW

Which server does Duru connect to?

Let the public Atlas catalog URL use books.example. In the selected architecture, Duru connects to a CDN edge as the server peer rather than to the Atlas application process. Delivery introduces another owner without changing the URL’s public authority. A CDN distributes content from multiple locations; the single edge in this diagram does not depict that entire network.

“Nearby” does not guarantee the shortest physical distance or the fastest node on every request. Finding the selected edge belongs to the earlier DNS and routing lessons. This lesson starts after selection; it produces no Anycast execution, capacity measurement, or global hit ratio. A topology diagram is not measured latency evidence.

Separate the origin role from a machine name

The Atlas origin produces the canonical public catalog representation in this example. Being the source of a response and being every Browser request’s direct socket peer are different roles. An origin might be one process, applications behind a load balancer, or another owned service; this fixture uses one logical origin supplying revision v1.

The edge acts as an HTTP client toward the origin and as an HTTP server toward Duru. The two hops have separate connection, error, and response-arrival boundaries. Receiving a body from the edge does not establish that the Browser connected to the origin or that the origin executed for that request.

MISS: two exchanges and three owners

The first branch starts with an empty edge cache. Duru prepares GET /catalog; after receipt, the edge finds no matching response. It prepares its own outbound GET and sends it to the origin. The origin prepares the public Atlas catalog body and cache metadata. Preparation is local; only arrival at another actor is drawn as a wire.

When the origin response reaches the edge, Duru still has not learned the result. Under this fixture’s eligibility rules, the edge stores the public representation and prepares a response for Duru. Final edge-to-Browser arrival closes that knowledge boundary. Carrying the same body on both hops does not make them one end-to-end socket exchange.

HIT: an idle origin matters

The second branch begins with a reusable public v1 entry for the selected key. The edge prepares a response from that local entry and sends no new request to the origin. An origin card remaining “not contacted” is meaningful: it shows where the data flow ends early. The public body received by the Browser is not the result of a new origin execution in this branch.

The fixture supplies current_age=5 and freshness_lifetime=60, selecting freshness through 5<60. Age is not an origin timestamp or a certificate of business correctness. Entry selection, storage eligibility, and freshness remain separate decisions. The earlier cache lesson covers the general current_age calculation.

Keep personal responses out of public entries

The third branch selects Duru’s harmless /notes/mine representation. This fixture classifies that route as shared-cache bypass before lookup, and the origin response carries no-store. The edge relays the response without writing a public cache entry. The Duru/Atlas context is supplied as allowed; this is not a real login or permission-enforcement test.

This conservative design does not claim that HTTP forbids caching every authenticated response. Requests carrying Authorization, cookie-based sessions, and application-specific identity are different mechanisms. Atlas only needs public catalog reuse here, so its personal route never enters shared storage.

Each TLS hop has its own trust boundary

For a TLS-terminating edge, Browser-to-edge and edge-to-origin are separate trust boundaries. Securing the first hop alone does not establish encryption or peer verification on the second. Cloudflare Full (strict) documentation is a vendor example of separately applied origin certificate verification; this lesson changes no Cloudflare settings.

This model shows HTTP message arrivals, without executing certificates, TLS records, or real CDN routing. The native check only observes public MISS/HIT and personal bypass between two owned loopback HTTP servers. That boundary separates understanding the CDN concept from validating an actual provider deployment.

2. Red · Trust & Impact

Read every scenario without motion

Public HIT

  1. Stored public content retained its metadata

    GET /catalog has body Atlas catalog, allowedAudience public and Cache-Control public, max-age=60. selectedKey is GET /catalog. This key belongs only to the selected public route, not a general HTTP-cache-key parser.

    Route/delivery ledger
    Public catalog / key GET /catalog
    Audience/reuse gate
    Policy pending
    Recipient boundary
    No verdict
  2. The fresh public copy became eligible for HIT

    The HIT has currentAge 5 and freshnessLifetime 60. Storage and reuse predicates hold under this public contract. Equal-looking bodies alone do not prove a HIT; originContacted must also be reviewed.

    Route/delivery ledger
    Public catalog / key GET /catalog
    Audience/reuse gate
    Age5 < lifetime60 / public reuse eligible
    Recipient boundary
    No verdict
  3. A successful reader response was not origin health

    originContacted is false. Delivering a stored catalog does not establish current origin reachability or health. Edge and origin are separate owners; an ordinary HIT may explain absence of an origin-log event.

    Route/delivery ledger
    Public catalog / key GET /catalog
    Audience/reuse gate
    Age5 < lifetime60 / public reuse eligible
    Recipient boundary
    Public HIT / current origin health unknown
  4. The personal target retained a different route class

    GET /notes/mine has body Duru reading note with no-store. Its route class is bypass-before-lookup. The public catalog key is not used for the personal response; URL appearance does not replace classification.

    Route/delivery ledger
    Personal /notes/mine / bypass-before-lookup
    Audience/reuse gate
    Age5 < lifetime60 / public reuse eligible
    Recipient boundary
    Public HIT / current origin health unknown
  5. Personal policy applied before shared lookup

    The personal branch follows origin policy before selecting shared content; cacheKeysAfter contains only GET /catalog. Authorization allowed is supplied, not calculated. Cache bypass does not replace user/object permission.

    Route/delivery ledger
    Personal /notes/mine / bypass-before-lookup
    Audience/reuse gate
    Personal bypass / cache keys unchanged
    Recipient boundary
    Public HIT / current origin health unknown
  6. The delivery contract was not a tenant-isolation claim

    This public-reuse and personal-bypass contract is a teaching example. A real CDN, TLS, authenticated users and isolation across every route are unmeasured. Classification and business authority retain separate gates.

    Route/delivery ledger
    Personal /notes/mine / bypass-before-lookup
    Audience/reuse gate
    Personal bypass / cache keys unchanged
    Recipient boundary
    Route delivery scoped / user policy separate

Hop evidence

  1. A MISS was selected with its origin-exchange requirement

    The first catalog MISS in the independent sequence increases originCalls from 0 to 1. A cache key is added after the origin response. These local-ledger counts are neither benchmarks nor vendor access-log fields.

    Route/delivery ledger
    MISS: origin calls0→1 / catalog key added
    Audience/reuse gate
    Policy pending
    Recipient boundary
    No verdict
  2. Stored state did not precede origin receipt

    The edge can store a reusable copy only after receiving the response and deciding to store it. Cache lookup is local; origin transfer is another exchange. This review examines the ordering rule without a new network measurement.

    Route/delivery ledger
    MISS: origin calls0→1 / catalog key added
    Audience/reuse gate
    Receive response before storage decision
    Recipient boundary
    No verdict
  3. First-hop results were not generalized to the deployment

    Public-response success does not establish DNS, TLS peers or overall CDN availability. A failed MISS does not imply outage across the edge network. Record the smallest observed hop and owner decision separately.

    Route/delivery ledger
    MISS: origin calls0→1 / catalog key added
    Audience/reuse gate
    Receive response before storage decision
    Recipient boundary
    Selected hop known / deployment availability unknown
  4. HIT and BYPASS count changes were separated

    The second catalog HIT leaves originCalls at 1. Personal BYPASS increases it from 1 to 2 while retaining the catalog key. Equal final statuses do not establish identical intermediate owners.

    Route/delivery ledger
    HIT 1→1 / BYPASS 1→2
    Audience/reuse gate
    Receive response before storage decision
    Recipient boundary
    Selected hop known / deployment availability unknown
  5. Connection security needed separate evidence per hop

    A TLS-terminating deployment needs separate browser-edge and edge-origin peer verification. The loopback-HTTP native scope here is not a certificate test. Origin access restriction and failover are absent from this ledger.

    Route/delivery ledger
    HIT 1→1 / BYPASS 1→2
    Audience/reuse gate
    Per-hop TLS verification not measured
    Recipient boundary
    Selected hop known / deployment availability unknown
  6. The control target stayed within the route contract

    Controls target public classification, origin-call relationships and personal cache bypass. Purging, failover and real-provider behavior require their own configuration and runtime evidence. This bounded ledger does not claim those checks.

    Route/delivery ledger
    HIT 1→1 / BYPASS 1→2
    Audience/reuse gate
    Per-hop TLS verification not measured
    Recipient boundary
    Check classification/calls/bypass; provider scope separate

ASSUMPTION · BOUNDARY · CONTROL

Ask which owner supplied a body

During review, do not equate the response Duru observes with an origin access-log event. A public HIT can produce no origin request at all. Edge requests, origin requests, and Browser observations need distinct correlation boundaries. The ledger’s originContacted boolean belongs to this selected fixture; it is not a real log field or vendor header name.

A correct cached public catalog does not establish suitable delivery for a personal endpoint. A HIT on one route says nothing about safe reuse on every route. Review the representation’s audience, route class, and reuse conditions together. Matching extensions or status codes do not make a stylesheet and a user’s note share the same policy.

First-hop success does not validate the entire chain

If the edge already holds the public body, a successful Browser response does not establish current origin health or reachability. A failed MISS does not measure an outage of the entire CDN network either. Keep the review question precise: which hop ran for this request, which owner decided, and what state was observed?

Introducing an edge does not remove origin-side authorization or safe-output requirements. Evaluate public-cache classification separately from authenticated business decisions. This workbook uses a fixed reading note in place of personal data; its results describe no access to another user, bypass, or real network discovery.

3. Blue · Secure development & defense

Read every scenario without motion

Call sequence

  1. The independent sequence retained before/after counts

    The example edge adapter produces cache decisions/key membership; the origin server produces its call counter. independentSequence correlates both records before and after each request: MISS 0→1, HIT 1→1 and BYPASS 1→2. A HIT creates no origin-request event; a missing log in another trace does not prove the same decision. MISS, HIT and BYPASS are separate request observations. Origin counts are 0→1, 1→1 and 1→2 respectively. Review examines origin-contact scope per request rather than inferring it from response bodies.

    Delivery observations
    MISS +1 / HIT +0 / BYPASS +1
    Call/cache comparison
    Policy pending
    Evidence conclusion
    No verdict
  2. HIT correlation was tied to the current request

    The HIT selects stored Atlas catalog with originContacted false. The earlier MISS’s origin event is not a new event for the HIT request. Counts can be misread unless correlation retains request boundaries.

    Delivery observations
    MISS +1 / HIT +0 / BYPASS +1
    Call/cache comparison
    HIT request has no new origin call
    Evidence conclusion
    No verdict
  3. Cache-key retention was separated from personal content

    Duru reading note contains 17 UTF-8 bytes while the catalog contains 13. After BYPASS, keys remain only GET /catalog. Body count and storage membership are different evidence fields.

    Delivery observations
    Catalog13 / personal17 / only catalog stored
    Call/cache comparison
    HIT request has no new origin call
    Evidence conclusion
    No verdict
  4. The ordinary negative control retained cache membership

    Public MISS adds a key while personal BYPASS does not. This ordinary comparison demonstrates the shared-store boundary. As no authenticated user is computed, successful bypass is not a real tenant-enforcement result.

    Delivery observations
    Catalog13 / personal17 / only catalog stored
    Call/cache comparison
    Public stored / personal not stored
    Evidence conclusion
    No verdict
  5. Native scope remained local policy behavior

    The lesson’s native fixture can measure selected reuse/bypass between two owned plaintext loopback servers. The authored scene is not a newly executed test. CDN routing, DNS, TLS and purge/failover need separate evidence.

    Delivery observations
    Catalog13 / personal17 / only catalog stored
    Call/cache comparison
    Public stored / personal not stored
    Evidence conclusion
    Selected local policy / CDN runtime unmeasured
  6. Regression checked source and body association together

    Regression rechecks decision reason, origin-call delta, route class and cache membership together. Equal bodies alone are not a HIT criterion. Bounded metadata can support correlation without logging sensitive note content.

    Delivery observations
    Catalog13 / personal17 / only catalog stored
    Call/cache comparison
    Public stored / personal not stored
    Evidence conclusion
    Recheck decision/call delta/route/cache membership

Origin gap

  1. Two ordinary explanations were separated for an absent event

    The example edge adapter produces cache decisions/key membership; the origin server produces its call counter. independentSequence correlates both records before and after each request: MISS 0→1, HIT 1→1 and BYPASS 1→2. A HIT creates no origin-request event; a missing log in another trace does not prove the same decision. An origin log may lack a request because an ordinary HIT never contacted the origin or because log coverage is incomplete. The artifact supplies a HIT decision, but that value cannot be transferred automatically to a new trace.

    Delivery observations
    No origin event: possible HIT or coverage gap
    Call/cache comparison
    Policy pending
    Evidence conclusion
    No verdict
  2. The edge decision record was checked separately

    Observed HIT with originContacted false can explain absence under the selected contract. Without a decision record, seeing Atlas catalog does not prove the origin was skipped. Observer scope also matters.

    Delivery observations
    No origin event: possible HIT or coverage gap
    Call/cache comparison
    HIT evidence needed independently of body
    Evidence conclusion
    No verdict
  3. The alternative review retained the missing decision

    Here the edge decision and origin-observer coverage are unknown. The normal sequence’s 1→1 count is not copied into the incomplete trace. Absence does not establish no request, a healthy origin or an outage.

    Delivery observations
    Edge decision and origin coverage unknown
    Call/cache comparison
    HIT evidence needed independently of body
    Evidence conclusion
    No verdict
  4. Correlation remained separate across owners

    Edge requests, origin requests and browser observations are not one event. A HIT may have no origin request. Review identifies parent/request relationships and observation points instead of reducing the entire timeline to one success field.

    Delivery observations
    Edge decision and origin coverage unknown
    Call/cache comparison
    Separate edge/origin/browser observation scopes
    Evidence conclusion
    No verdict
  5. The origin-contact verdict remained unknown

    Origin contact remains UNKNOWN for this incomplete trace. An ordinary HIT being a possible explanation does not make every missing log a HIT. Negative events and unreliable observations are separate uncertainty sources.

    Delivery observations
    Edge decision and origin coverage unknown
    Call/cache comparison
    Separate edge/origin/browser observation scopes
    Evidence conclusion
    UNKNOWN: origin contact for this request
  6. Targeted new evidence retained minimal scope

    Further review needs request-scoped edge decisions, origin-call association and bounded coverage without full bodies, credentials or an entire network inventory. Health verdicts remain withheld until new evidence exists.

    Delivery observations
    Edge decision and origin coverage unknown
    Call/cache comparison
    Separate edge/origin/browser observation scopes
    Evidence conclusion
    Needed: decision/request association/coverage

IMPLEMENTATION · SECURITY CONTROL · VERIFICATION

Write an explicit public-delivery contract

The example edge adapter produces cache decisions/key membership; the origin server produces its call counter. independentSequence correlates both records before and after each request: MISS 0→1, HIT 1→1 and BYPASS 1→2. A HIT creates no origin-request event; a missing log in another trace does not prove the same decision. For Atlas, define two route classes: reusable public catalog and personal note with bypass and no-store. This is an example policy, not automatic extension guessing. Body and cache metadata derive from the same classification. A changed public freshness lifetime or key should change the corresponding fixture expectation.

Do not mark an origin response as stored before it reaches the edge. After the edge makes its storage decision, it prepares the Browser response; Browser knowledge advances only on arrival. Reduced motion must preserve the same completed states. This separates network transfer from local operations such as cache lookup.

Check behavior at ownership boundaries

An independent observation expects one origin request for the first catalog MISS, no additional origin request for the second catalog HIT, and one additional origin request for a personal GET. The personal response must not change cache state. Body equality alone does not prove a HIT; combine it with the origin-call count and decision record.

In a real TLS-terminating deployment review, establish peer verification separately for both hops; do not present native loopback HTTP results as a certificate test. Origin access restrictions, cache purges, and failover depend on their own configuration. This small check validates public reuse and bypass without measuring those operations.

NOW APPLY IT TO THE CASE

How do HIT, MISS and personal BYPASS differ in ownership and evidence?

Public /catalog is fetched from the origin first and then served as a fresh HIT using the edge’s Atlas catalog. Personal /notes/mine bypasses shared lookup and carries no-store. Absence of an origin-log event alone determines neither request occurrence nor health.

Which cache owner supplies the case representation? Evaluate key scope, freshness and viewer context together; a hit does not establish the correct viewer.

Open the related case file ↗

READ THE EXAMPLE TOGETHER

Edge-delivery decisions and origin-call ledger

Select a field and examine what it supports and where the evidence ends.

Read the raw artifact and field explanations
{
  "public": {
    "method": "GET",
    "target": "/catalog",
    "body": "Atlas catalog",
    "bodyOctets": 13,
    "originCacheControl": "public, max-age=60",
    "selectedKey": "GET /catalog",
    "allowedAudience": "public"
  },
  "personal": {
    "method": "GET",
    "target": "/notes/mine",
    "body": "Duru reading note",
    "bodyOctets": 17,
    "cacheControl": "no-store",
    "routeClass": "bypass-before-lookup",
    "authorization": "supplied allowed; not computed"
  },
  "hit": {
    "currentAge": 5,
    "freshnessLifetime": 60,
    "originContacted": false,
    "storedBody": "Atlas catalog"
  },
  "independentSequence": [
    {
      "case": "miss",
      "originCallsBefore": 0,
      "originCallsAfter": 1,
      "cacheKeysAfter": [
        "GET /catalog"
      ]
    },
    {
      "case": "hit",
      "originCallsBefore": 1,
      "originCallsAfter": 1,
      "cacheKeysAfter": [
        "GET /catalog"
      ]
    },
    {
      "case": "bypass",
      "originCallsBefore": 1,
      "originCallsAfter": 2,
      "cacheKeysAfter": [
        "GET /catalog"
      ]
    }
  ],
  "scope": "Owned selected policy; not a general RFC cache implementation or deployed CDN."
}
selectedKey
Local cache key selected only for the public catalog; not a parser for all HTTP cache-key rules.
originContacted
Whether this request performs an outbound origin exchange; equal bodies alone do not establish it.
originCallsBefore / After
Expected counter for the independent selected sequence; not a benchmark or production log field.
routeClass
The personal response bypasses shared lookup first and is relayed with no-store.

Numeric age and cache state are supplied fixtures. The native check observes selected public reuse/bypass between two owned plaintext loopback HTTP servers. No CDN, DNS/routing, TLS/certificate, authenticated user, or purge/failover is executed.

Two reality checks

A successful CDN response proves the origin processed this request.

A reusable HIT can complete without an origin exchange. Keep edge and origin observations separate.

Browser HTTPS establishes verified edge-to-origin delivery.

A TLS-terminating architecture has separate encryption and peer-verification boundaries for each hop.

YOUR TURN

Work through this story.

Predict the outcome, find the evidence boundary, and explain it in your own words.

A public-catalog hit has age 5/lifetime 60. What does OriginCallsAfter show?

  1. This hit produces no new origin call.
  2. Every CDN response requires a new request to the origin.
Read the explained answer

This hit produces no new origin call. — originCallsBefore/After are 1/1 and originContacted=false; the selected public body is reused at the edge.

Why is personal /notes/mine absent from the public-cache key list?

Selected lesson artifact fields; teaching example

personal.cacheControl
no-store
personal.routeClass
bypass-before-lookup
independentSequence[2].cacheKeysAfter
["GET /catalog"]
  1. The CDN stores all personalized bodies publicly under one GET key.
  2. The selected personal route bypasses cache lookup/storage.
Read the explained answer

The selected personal route bypasses cache lookup/storage. — Bypass calls the origin, but cacheKeysAfter retains only GET /catalog; supplied permission is separate.

The browser received a response from the CDN. Does that prove the origin is currently healthy and TLS is one end-to-end connection?

Read the explained answer

A fresh hit may return a body without contacting the origin; browser delivery does not measure current origin health. With selected CDN termination, browser–edge and edge–origin TLS contexts are separate. This fixture teaches cache decisions; it is not a deployed CDN or real-certificate measurement.

□ I did not count an edge hit as origin-health proof.

□ I did not equate hop TLS contexts with one connection.

Open the application console · request / response / browser
Also open request, URL, cookie and DOM examples

Sources and scope