The toy query example keeps its boundary narrow.

highlighted = computed this step

What this toy model checks

The trust boundary parses one GET request, splits path from query, parses two ASCII pairs, and confirms there is no body.

recompute query rows\text{recompute query rows}
Query honesty boundaryThe query bytes, parsed pairs, and empty body check are recomputed from pinned GET bytes.Query honesty boundary - GET /search query q=cat and page=2, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linetarget displaypath /search question q=cat ampersand page=2safe display formrequest lineversionHTTP/1.1parsedheaderHostsearch.exampleexacttargetpath/searchbefore question markquerydisplay wordsq=cat ampersand page=2safe display formqueryexact hex713d63617426706167653d32pinned bytespairqq=catparsedpairpagepage=2parsedcheckbody bytes0after blank linecheckhas bodynotoy GET

Honesty boundary

NOTE: toy HTTP GET query only; not URL decoding beyond the pinned ASCII, repeated keys, arrays, form submission behavior, search ranking, privacy or tracking, caches, proxies, HTTP/2 or HTTP/3, auth, frameworks, or production server config.

toy query only\text{toy query only}
Query honesty boundaryThe query bytes, parsed pairs, and empty body check are recomputed from pinned GET bytes.Query honesty boundary - GET /search query q=cat and page=2, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linetarget displaypath /search question q=cat ampersand page=2safe display formrequest lineversionHTTP/1.1parsedheaderHostsearch.exampleexacttargetpath/searchbefore question markquerydisplay wordsq=cat ampersand page=2safe display formqueryexact hex713d63617426706167653d32pinned bytespairqq=catparsedpairpagepage=2parsedcheckbody bytes0after blank linecheckhas bodynotoy GET

No client compute

The page shows already validated rows. It does not parse the URL in browser code.

static validated rows\text{static validated rows}
Query honesty boundaryThe query bytes, parsed pairs, and empty body check are recomputed from pinned GET bytes.Query honesty boundary - GET /search query q=cat and page=2, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linetarget displaypath /search question q=cat ampersand page=2safe display formrequest lineversionHTTP/1.1parsedheaderHostsearch.exampleexacttargetpath/searchbefore question markquerydisplay wordsq=cat ampersand page=2safe display formqueryexact hex713d63617426706167653d32pinned bytespairqq=catparsedpairpagepage=2parsedcheckbody bytes0after blank linecheckhas bodynotoy GET

Summary

A query string can carry small choices after the path.

query carries choices\text{query carries choices}
Query honesty boundaryThe query bytes, parsed pairs, and empty body check are recomputed from pinned GET bytes.Query honesty boundary - GET /search query q=cat and page=2, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linetarget displaypath /search question q=cat ampersand page=2safe display formrequest lineversionHTTP/1.1parsedheaderHostsearch.exampleexacttargetpath/searchbefore question markquerydisplay wordsq=cat ampersand page=2safe display formqueryexact hex713d63617426706167653d32pinned bytespairqq=catparsedpairpagepage=2parsedcheckbody bytes0after blank linecheckhas bodynotoy GET