A Page with getServerSideProps
If you see me the page hasn't hydrated and is not interactive...
It get's prerendered per request and has access to request and response data
That's why it can use Nonce-based CSP, it has the chance to set a fresh nonce as attribute to scripts on each request.
Internal navigation to other pages
Request Headers
{ "host": "demo-next-safe-middleware.vercel.app", "accept": "*/*", "accept-encoding": "gzip, br, zstd, deflate", "content-security-policy": "default-src 'self';object-src 'none';base-uri 'none';img-src 'self' data: https://images.unsplash.com;font-src 'self' https://fonts.gstatic.com;script-src 'nonce-XWlIZSbjr0KgMUGKaASo+A==' 'strict-dynamic' https: 'unsafe-inline' 'sha256-2AH2VH1B+5jBCXgwJkVuj1TRGO0aUm9dcNatWrnyosU=' 'sha256-lBDbadDkyeD7bOL6E1HDHFZXy+jFNq5d5QL2yspKv/A=' 'sha256-9KBZhMnIhr6i6Vtn/+m7sBLmWhnSfquC+BYUfYZs21E=' 'sha384-WkFzsrcXKeJ3KlWNXojDiim8rplIj1RPsCbuv7dsLECoXY8C6Cx158CMgl+O+QKW' 'sha256-AMm26MMxJCNx0SXqH3vlggIMDFOLibAy7R3ZbWlnkNc=' 'sha256-rh00Yb2YifFnvhn/kB2DjTGonGCNy/zFuXeyP7HrcOI=' 'sha256-+dunERqp4mD6r1x1UkWg/2rUkdLmnSZrYNAgJPYyNcM=' 'sha256-x0vzTRUjbgg1fNYtjnv7XsClhqDVJzLi049YcesA3cY=' 'sha256-413F9Zu76LINTpXToCAmsXZmh4dUKKC6bqFz1+u2EQk=' 'sha256-I6lRYQSkcd0eKJEqp1ZVl83sJssLSy3jf3gMQixXQek=' 'sha256-Z8mKG9VKXNTHd/ghxWI3YvdcGurDHYGI3vRLZfEt/xo=' 'sha256-2ndgK4ndmuxA0YKc0zRGAtklqNCf0U8/8Nd8tlA63TA=' 'sha256-8QUUitFlSTJQ7z/fdcV9F6w3d634CM68mc6DQ8vNTJ4=' 'sha256-L0sJ4/IvqVP6U/IV0AmoYYC9Or9xCrukrULduMePh8E=' 'sha256-7jFFHYg24lua/zgQB4kYhdDA+xJPGsZbjGmPmOZBeUI=' 'sha256-w6bdX1mqFF+i8WNNGRUBH4btqooJ/crmMHOQuQUdx/M=' 'sha256-7jFh0AHwp6vyYGCKDw2j4lUSAcMbU1gEPUot/wRn5pA=' 'sha256-IprRZ4rmKr8dXg41TTdMveNgpQpECKjO8wHcOAiaIlI=' 'sha256-+w1/bgX7psAQ5sZe1CLQ8c9No7JnYqBeJfspZ2ci2vk=' 'sha256-x1yZbGsiuKKpaUHxiClcpoGNBuwRY1Mtblc10UxyA7g=' 'sha256-vtK6QM61/FFgk6J8Ud64+WJwyfalZY29Ru2JYGj8BaU=' 'sha256-YfPqVruxNUrhURCa6a0zfELn8GVZmIbOA4NJkwtjPyw=' 'sha256-Xqq/ujJfnRTXYl8oMSvWaesHV1fvMrkHpwtt9hdbU0g=' 'report-sample';style-src 'nonce-XWlIZSbjr0KgMUGKaASo+A==' 'sha256-0h0Ha1KEXibxI1pkH1Ag1lqpMsbVx7SR13/64S1f0iI=' 'sha256-mIxvY55smipKViZPiWrIlT0pyrPW7tFDSucq4IJ4Dvc=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-/cz+p719dOFygDAqDgEjHhHSRaka+kWXk3WHAOXiURk=' 'sha256-tnHpksLcaJdz/J2Ur+0LthxAfZ7tQIxLHOipbQYvmqM=' 'sha256-RkT3nEyK1ezLVIUunAjAbjB38Tn06a3wknKrzP1l3B8=' 'sha256-h3Y7nlrS1azfvWI18FF5nc73LkXAs5ZEkB2sa41t7zM=' 'unsafe-hashes' 'report-sample';report-uri /api/reporting;report-to default", "forwarded": "for=3.144.116.34;host=demo-next-safe-middleware.vercel.app;proto=https;sig=0QmVhcmVyIDk2YmJhYzFmMjllZWUyMTlkZDQzYTU4YzZmYjE2YWMzZjU0ZDU3NDhlNzBlNzRiMWExMmE4MmUwYmRkNDM5ZWE=;exp=1735152169", "internal-customer-env": "production", "internal-deployment-id": "dpl_EWQYaLabH5EFy9NRtmF1R277wkVs", "internal-deployment-plan": "hobby", "internal-function-id": "0ac6dd86d046f68a18aba39f7a9a0a8714f74166", "internal-header-bytes": "2195", "internal-initial-log-seq": "601331411205972", "internal-intra-session": "3.a2VvbjgwOTI5cUltcGJ2QiE49ZXXBX0LdRyrqeyh4kZUEapsSEML2LN4PH4e1IjZ", "internal-vercel-region": "cle1", "ip-as-number": "16509", "ip-continent": "NA", "ip-postal-code": "43215", "ip-timezone": "America/New_York", "report-to": "{\"max_age\":1800,\"endpoints\":[{\"url\":\"/api/reporting\"}]}", "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for": "3.144.116.34", "x-forwarded-host": "demo-next-safe-middleware.vercel.app", "x-forwarded-proto": "https", "x-matched-path": "/gssp", "x-real-ip": "3.144.116.34", "x-vercel-deployment-url": "demo-next-safe-middleware-8balkz8ul-nibtime.vercel.app", "x-vercel-edge-region": "dev", "x-vercel-forwarded-for": "3.144.116.34", "x-vercel-id": "cle1::lbm6v-1735151869533-fc4781b4a88b", "x-vercel-internal-ingress-bucket": "bucket017", "x-vercel-internal-intra-session": "3.a2VvbjgwOTI5cUltcGJ2QiE49ZXXBX0LdRyrqeyh4kZUEapsSEML2LN4PH4e1IjZ", "x-vercel-ip-as-number": "16509", "x-vercel-ip-city": "Columbus", "x-vercel-ip-continent": "NA", "x-vercel-ip-country": "US", "x-vercel-ip-country-region": "OH", "x-vercel-ip-latitude": "39.9625", "x-vercel-ip-longitude": "-83.0061", "x-vercel-ip-postal-code": "43215", "x-vercel-ip-timezone": "America/New_York", "x-vercel-ja4-digest": "t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3", "x-vercel-proxied-for": "3.144.116.34", "x-vercel-proxy-signature": "Bearer 96bbac1f29eee219dd43a58c6fb16ac3f54d5748e70e74b1a12a82e0bdd439ea", "x-vercel-proxy-signature-ts": "1735152169", "connection": "close", "csp-nonce": "XWlIZSbjr0KgMUGKaASo+A==" }
Response Headers
{}