The toy redirect keeps its boundary narrow.

highlighted = computed this step

What this toy model checks

The trust boundary parses the request, validates one redirect rule, parses the response, and checks Location plus body length.

recompute redirect rows\text{recompute redirect rows}
Redirect honesty boundaryThe redirect rule and response check are recomputed from pinned bytes.Redirect honesty boundary - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body

Honesty boundary

NOTE: toy HTTP redirect only; not browser history, method rewriting semantics, permanent redirects, redirect loops, cross-origin policy, HSTS, cookies, auth, caching, relative URL resolution beyond the pinned path, framing, or production server config.

toy redirect only\text{toy redirect only}
Redirect honesty boundaryThe redirect rule and response check are recomputed from pinned bytes.Redirect honesty boundary - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body

No client compute

The page shows already validated rows. It does not follow redirects in browser code.

static validated rows\text{static validated rows}
Redirect honesty boundaryThe redirect rule and response check are recomputed from pinned bytes.Redirect honesty boundary - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body

Summary

A redirect response is a status plus a Location header that names where to ask next.

Location names next path\text{Location names next path}
Redirect honesty boundaryThe redirect rule and response check are recomputed from pinned bytes.Redirect honesty boundary - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body