Home

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",
  "connection": "Keep-Alive",
  "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-xbB4k1DJ4RoqHSXO113y0A==' '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-xbB4k1DJ4RoqHSXO113y0A==' '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.145.100.40;host=demo-next-safe-middleware.vercel.app;proto=https;sig=0QmVhcmVyIDQyNTE4MTY2MTU5ZWIxY2M1ZmY4YTFlMTQ0OTkyMjMzMmRjNGMzZWM2ODVmODY0ZDViOTE3YWI3ZGI4OTBlODg=;exp=1719374635",
  "internal-customer-env": "production",
  "internal-deployment-id": "dpl_EWQYaLabH5EFy9NRtmF1R277wkVs",
  "internal-deployment-plan": "hobby",
  "internal-initial-log-seq": "632914540612098",
  "internal-vercel-region": "cle1",
  "ip-as-number": "16509",
  "ip-continent": "NA",
  "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.145.100.40",
  "x-forwarded-host": "demo-next-safe-middleware.vercel.app",
  "x-forwarded-proto": "https",
  "x-matched-path": "/gssp",
  "x-real-ip": "3.145.100.40",
  "x-vercel-deployment-url": "demo-next-safe-middleware-8balkz8ul-nibtime.vercel.app",
  "x-vercel-edge-region": "dev",
  "x-vercel-forwarded-for": "3.145.100.40",
  "x-vercel-id": "cle1::8blms-1719374335342-ccae8bcd2e14",
  "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-timezone": "America/New_York",
  "x-vercel-proxied-for": "3.145.100.40",
  "x-vercel-proxy-signature": "Bearer 42518166159eb1cc5ff8a1e1449922332dc4c3ec685f864d5b917ab7db890e88",
  "x-vercel-proxy-signature-ts": "1719374635",
  "csp-nonce": "xbB4k1DJ4RoqHSXO113y0A=="
}

Response Headers

{}