demo · v138
Local Network Access decision tree
Enter your page's origin and a target URL. The simulator runs Chrome 138's decision logic — does the request go to a more-private network, does it need a permission prompt, can it use targetAddressSpace shortcut, and what does the preflight request look like?
To actually exercise this against a real device, enable
chrome://flags/#local-network-access. The simulator below mirrors Chrome 138's spec rules in-page.
| step | value |
|---|
the preflight
// 138+: requests crossing a network boundary must carry this:
fetch("http://192.168.1.10/", {
targetAddressSpace: "private", // declares the user intent
}).then(r => r.text());
// On the wire, the browser sends a preflight first:
// OPTIONS / HTTP/1.1
// Access-Control-Request-Local-Network: true
//
// Server must respond with:
// Access-Control-Allow-Local-Network: true
// or the real request is blocked.
see also
- Local Network Access restrictions — feature index
- ChromeStatus entry
- LNA spec