ua-tracer
by Paul Kinlan
ua-tracer
what does a user agent actually fetch, follow & run?
Trace LUpq5Hvt
First seen: 2026-06-22 14:23:56.833 UTC
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
What this user agent did
Directly-referenced assets:
✗ fetched CSS
✓ fetched JS
✗ fetched image
✗ fetched font (HTML)
Document-level link hints:
✗ fetched favicon
✗ fetched apple-touch-icon
✗ fetched web manifest
✗ fetched preload
✗ fetched prefetch
Second-level follows (proves it parsed the linking file):
✗ followed CSS background-image
✗ followed CSS @font-face
✗ followed manifest icon
✗ followed CSS @import
Frames (does it descend into iframes?):
✓ fetched iframe document
✗ descended into iframe (loaded inner image)
Reporting (a report-only CSP is violated by inline styles; reports can arrive via HTTP headers with no JS, or via in-page beacons):
✗ sent a CSP/Reporting report (any path)
✗ delivered via report-uri/Report-To header (no JS)
✗ delivered via in-page beacon (securitypolicyviolation / ReportingObserver)
Social embed (Open Graph / Twitter card images):
✗ fetched og:image
✗ fetched twitter:image
JavaScript execution:
✗ EXECUTED classic JS
✗ EXECUTED ES module
✗ posted client timing
Server-side request waterfall
Every request the server received for this trace, in receive order. +ms is the delta from the
homepage request.
| Received | Δ | Kind | Method | User-Agent |
|---|---|---|---|---|
| 2026-06-22 14:23:56.833 UTC | +0 ms | homepage | GET | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 |
request headers (10){
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"host": "uatracer.com",
"sec-ch-ua": "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111",
"sec-fetch-mode": "navigate",
"traceparent": "00-8648a7227cac5ecb835b27951f29c40b-e7524d10f4bc310c-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net"
}
|
||||
| 2026-06-22 14:24:07.313 UTC | +10480 ms | JS | GET | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 |
request headers (12){
"accept": "*/*;q=0.8",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"host": "uatracer.com",
"sec-ch-ua": "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111",
"sec-fetch-mode": "navigate",
"traceparent": "00-8b317460766d1403fe03dc7756d03f82-d4dd5de26f46a1c5-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-8b317460766d1403fe03dc7756d03f82-335963c0c8932327-01",
"x-deno-userspace-tracestate": ""
}
|
||||
| 2026-06-22 14:24:07.317 UTC | +10484 ms | iframe document | GET | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 |
request headers (12){
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"host": "uatracer.com",
"sec-ch-ua": "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111",
"sec-fetch-mode": "navigate",
"traceparent": "00-5640af24960245615b9b65a2325706da-e96368ad66dd0343-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-5640af24960245615b9b65a2325706da-d52629273c3c36a8-01",
"x-deno-userspace-tracestate": ""
}
|
||||
| 2026-06-22 14:24:07.319 UTC | +10486 ms | ES module | GET | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 |
request headers (12){
"accept": "*/*;q=0.8",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"host": "uatracer.com",
"sec-ch-ua": "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111",
"sec-fetch-mode": "navigate",
"traceparent": "00-61e62f4b46c8872a051aa255edb70fe0-c7f94703b3f5eb53-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-61e62f4b46c8872a051aa255edb70fe0-a60c234fcece37ad-01",
"x-deno-userspace-tracestate": ""
}
|
||||