URL: https://observablehq.com/@d3/drag-zoom
Submission: On December 16 via manual from SG — Scanned from SG

Summary

This website contacted 9 IPs in 2 countries across 7 domains to perform 94 HTTP transactions. The main IP is 2606:4700:10::6816:15dc, located in United States and belongs to CLOUDFLARENET, US. The main domain is observablehq.com. The Cisco Umbrella rank of the primary domain is 240337.
TLS certificate: Issued by Cloudflare Inc ECC CA-3 on March 5th 2023. Valid for: a year.
This is the only time observablehq.com was scanned on urlscan.io!

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
58 2606:4700:10:... 13335 (CLOUDFLAR...)
1 2404:6800:400... 15169 (GOOGLE)
14 2606:4700:303... 13335 (CLOUDFLAR...)
2 2404:6800:400... 15169 (GOOGLE)
5 2404:6800:400... 15169 (GOOGLE)
1 34.120.195.249 396982 (GOOGLE-CL...)
2 2404:6800:400... 15169 (GOOGLE)
1 2606:4700:303... 13335 (CLOUDFLAR...)
10 2600:9000:223... 16509 (AMAZON-02)
94 9
Apex Domain
Subdomains
Transfer
58 observablehq.com
observablehq.com — Cisco Umbrella Rank: 240337
api.observablehq.com — Cisco Umbrella Rank: 329514
events.observablehq.com — Cisco Umbrella Rank: 660534
3 MB
25 observableusercontent.com
avatars.observableusercontent.com — Cisco Umbrella Rank: 613070
d3.static.observableusercontent.com
static.observableusercontent.com
cdn.observableusercontent.com — Cisco Umbrella Rank: 730521
399 KB
5 gstatic.com
fonts.gstatic.com
104 KB
2 google-analytics.com
www.google-analytics.com — Cisco Umbrella Rank: 27
309 B
2 googleapis.com
fonts.googleapis.com — Cisco Umbrella Rank: 29
2 KB
1 sentry.io
o299802.ingest.sentry.io — Cisco Umbrella Rank: 744400
324 B
1 googletagmanager.com
www.googletagmanager.com — Cisco Umbrella Rank: 36
90 KB
94 7
Domain Requested by
55 observablehq.com observablehq.com
11 avatars.observableusercontent.com observablehq.com
10 static.observableusercontent.com d3.static.observableusercontent.com
5 fonts.gstatic.com fonts.googleapis.com
3 cdn.observableusercontent.com static.observableusercontent.com
2 api.observablehq.com observablehq.com
2 www.google-analytics.com www.googletagmanager.com
2 fonts.googleapis.com observablehq.com
static.observableusercontent.com
1 events.observablehq.com observablehq.com
1 d3.static.observableusercontent.com observablehq.com
1 o299802.ingest.sentry.io observablehq.com
1 www.googletagmanager.com observablehq.com
94 12

This site contains links to these domains. Also see Links.

Domain
www.linkedin.com
twitter.com
github.com
www.youtube.com
Subject Issuer Validity Valid
observablehq.com
Cloudflare Inc ECC CA-3
2023-03-05 -
2024-03-04
a year crt.sh
*.google-analytics.com
GTS CA 1C3
2023-11-20 -
2024-02-12
3 months crt.sh
observableusercontent.com
GTS CA 1P5
2023-12-04 -
2024-03-03
3 months crt.sh
upload.video.google.com
GTS CA 1C3
2023-11-20 -
2024-02-12
3 months crt.sh
*.gstatic.com
GTS CA 1C3
2023-11-20 -
2024-02-12
3 months crt.sh
ingest.sentry.io
DigiCert Global G2 TLS RSA SHA256 2020 CA1
2023-11-02 -
2024-12-02
a year crt.sh
*.static.observableusercontent.com
E1
2023-12-12 -
2024-03-11
3 months crt.sh
static.observableusercontent.com
Amazon RSA 2048 M02
2023-09-08 -
2024-10-05
a year crt.sh

This page contains 2 frames:

Primary Page: https://observablehq.com/@d3/drag-zoom
Frame ID: 89AA20591D64317872D1F5E23B95B567
Requests: 85 HTTP requests in this frame

Frame: https://d3.static.observableusercontent.com/next/worker-98dce999.html
Frame ID: C28A56A74EA4AA52E6A7341F9995814A
Requests: 9 HTTP requests in this frame

Screenshot

Page Title

Drag & Zoom / D3 | ObservableInsert cellInsert cellInsert cellInsert cellInsert cellInsert cellInsert cellInsert cellInsert cellThis notebook is a forkThis notebook is a forkLinkedInTwitterGitHubYouTube

Detected technologies

Overall confidence: 100%
Detected patterns
  • /d3(?:\. v\d+)?(?:\.min)?\.js

Overall confidence: 100%
Detected patterns

Overall confidence: 100%
Detected patterns
  • googletagmanager\.com/gtag/js

Overall confidence: 100%
Detected patterns
  • /marked(?:\.min)?\.js

Page Statistics

94
Requests

100 %
HTTPS

89 %
IPv6

7
Domains

12
Subdomains

9
IPs

2
Countries

3533 kB
Transfer

14244 kB
Size

3
Cookies

Redirected requests

There were HTTP redirect chains for the following requests:

94 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request drag-zoom
observablehq.com/@d3/
73 KB
23 KB
Document
General
Full URL
https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare / Next.js
Resource Hash
da92fe484cb41430af9f6f614c83231ee661c2ac5fafd537aedb530c4e050cdc
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36
accept-language
zh-SG,zh;q=0.9

Response headers

cache-control
public, max-age=30
cf-cache-status
EXPIRED
cf-ray
8365ce51cbef40b0-SIN
content-encoding
gzip
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-type
text/html; charset=utf-8
date
Sat, 16 Dec 2023 09:12:41 GMT
etag
"vo42r2daav1lfx"
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702717960&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SDVBdhHhUTWQyptFk9223Ux4Pup%2FiugEwTPrcW8KO84%3D"}]}
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702717960&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SDVBdhHhUTWQyptFk9223Ux4Pup%2FiugEwTPrcW8KO84%3D
server
cloudflare
strict-transport-security
max-age=86400; includeSubDomains
vary
cookie, Accept-Encoding
via
1.1 vegur
x-powered-by
Next.js
js
www.googletagmanager.com/gtag/
269 KB
90 KB
Script
General
Full URL
https://www.googletagmanager.com/gtag/js?id=G-9B88TP6PKQ
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c00::61 Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Google Tag Manager /
Resource Hash
998fb00506d5dc11e8ddb41bfeaa535a0cccfa46f31480c2c6318e0fc89c1cd8
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains
X-Xss-Protection 0

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-encoding
br
strict-transport-security
max-age=31536000; includeSubDomains
server
Google Tag Manager
vary
Accept-Encoding
content-type
application/javascript; charset=UTF-8
access-control-allow-origin
*
cache-control
private, max-age=900
access-control-allow-credentials
true
cross-origin-resource-policy
cross-origin
access-control-allow-headers
Cache-Control
content-length
91991
x-xss-protection
0
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
expires
Sat, 16 Dec 2023 09:12:41 GMT
a28d28f00c8309d6.css
observablehq.com/_next/static/css/
123 KB
21 KB
Stylesheet
General
Full URL
https://observablehq.com/_next/static/css/a28d28f00c8309d6.css
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
a6541c32b41c77b689c97034e592a9206825a75a47b1c82468f4673d10546008
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
719099
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701998862&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=R70RHhbX6qg7sKQrxKaUSt%2FbF5ltmjvKmldJI2Io2EE%3D
last-modified
Fri, 08 Dec 2023 00:41:12 GMT
server
cloudflare
etag
W/"1eabc-18c46df0c40"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701998862&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=R70RHhbX6qg7sKQrxKaUSt%2FbF5ltmjvKmldJI2Io2EE%3D"}]}
content-type
text/css; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce599d8940b0-SIN
webpack-ee007158963ba5b2.js
observablehq.com/_next/static/chunks/
5 KB
3 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/webpack-ee007158963ba5b2.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
27d33c5a644755b77d80e9f4fc45326040ab97355292971cc5422bca2664caaa
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
718974
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701998987&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=dFdQWe%2Fm2RlVI88vIaDVWraGV7M4rjKIKkz%2B3Bfi2ok%3D
last-modified
Fri, 08 Dec 2023 00:41:12 GMT
server
cloudflare
etag
W/"14c3-18c46df0c40"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701998987&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=dFdQWe%2Fm2RlVI88vIaDVWraGV7M4rjKIKkz%2B3Bfi2ok%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdb340b0-SIN
framework-ca706bf673a13738.js
observablehq.com/_next/static/chunks/
138 KB
47 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/framework-ca706bf673a13738.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
68d9eb6aefb519749c74c97c8b3271a6cb7279ea5f790803885d2a45eefb2269
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
215631
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702502330&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=GkZFzX5X6wUMzcmCpx8u7Av2ZBclDJ75pFVLyW6BQvQ%3D
last-modified
Wed, 13 Dec 2023 19:11:49 GMT
server
cloudflare
etag
W/"2270e-18c6497a508"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702502330&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=GkZFzX5X6wUMzcmCpx8u7Av2ZBclDJ75pFVLyW6BQvQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdb940b0-SIN
main-02f5b46bdaeef216.js
observablehq.com/_next/static/chunks/
139 KB
38 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
8c9f6fa10ce383fb362ddf10d0bf0e0e72958ab4fbbe2bf5985d2b16dedc6b51
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
220598
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702497363&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=qIHeqPItAUREe4dY6kIc5PQD2eLUxkAKJUbZkmr%2FVME%3D
last-modified
Wed, 13 Dec 2023 19:11:49 GMT
server
cloudflare
etag
W/"22a6e-18c6497a508"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702497363&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=qIHeqPItAUREe4dY6kIc5PQD2eLUxkAKJUbZkmr%2FVME%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdbb40b0-SIN
_app-8703b0ddd9d4dfac.js
observablehq.com/_next/static/chunks/pages/
1 MB
477 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
91799a80404a385ce0f768d6d822b7a8e04768971c91442a6e5b365b13d2208c
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:26 GMT
server
cloudflare
etag
W/"17bdc6-18c6f383db0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdbd40b0-SIN
fec483df-ed779ce1028b7b0c.js
observablehq.com/_next/static/chunks/
328 KB
101 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/fec483df-ed779ce1028b7b0c.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
86eeab587fafdcf38f98064b6766481181022fa7771fb344ae5954a211bd33b2
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
3325511
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699392450&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=bykEGDYC1cmzR%2BAjQd5g%2Bd9yPYaQVwzYMSk3R9xYeg0%3D
last-modified
Tue, 07 Nov 2023 21:19:48 GMT
server
cloudflare
etag
W/"521ba-18baba7e120"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699392450&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=bykEGDYC1cmzR%2BAjQd5g%2Bd9yPYaQVwzYMSk3R9xYeg0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdc240b0-SIN
8764-ce4257ea01b78660.js
observablehq.com/_next/static/chunks/
23 KB
9 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/8764-ce4257ea01b78660.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
84ffe7c3ce65411595091438df136efcd6cf3dc9376034ac1061df2f0f137c89
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1574385
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701143576&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=58CaYObqsNpduyNRpQPJ0yuzdQMtXZ37Jrhf3v396yQ%3D
last-modified
Tue, 28 Nov 2023 01:21:57 GMT
server
cloudflare
etag
W/"5cec-18c1384c308"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701143576&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=58CaYObqsNpduyNRpQPJ0yuzdQMtXZ37Jrhf3v396yQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdc840b0-SIN
7535-c0c85b1b669179db.js
observablehq.com/_next/static/chunks/
194 KB
54 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/7535-c0c85b1b669179db.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
9fb3f991f6a30b078eb370373419382b20a377611411d28c7cea6c3c76b56090
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
114580
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702603381&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=HZLdyT7IHvY4Npe3M2xxYgibMD7zAaaUnEQmaPlcEy4%3D
last-modified
Thu, 14 Dec 2023 23:54:40 GMT
server
cloudflare
etag
W/"3087e-18c6ac0f600"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702603381&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=HZLdyT7IHvY4Npe3M2xxYgibMD7zAaaUnEQmaPlcEy4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdca40b0-SIN
637-0038bbd28e1876ec.js
observablehq.com/_next/static/chunks/
900 KB
285 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/637-0038bbd28e1876ec.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
dbcc041391c98cb6014a6d394adb6a4fb09c226c05ec512d31f3a026c5d98c44
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"e10d6-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdcc40b0-SIN
8252-dd51fc84fd5c2b1f.js
observablehq.com/_next/static/chunks/
26 KB
11 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/8252-dd51fc84fd5c2b1f.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
c2e95c6c2b4ab4ef56f522678ab5a1d794ddecaac06b3dbe25a76233e7d9189f
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
718972
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701998989&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=X38cROtSZrtdzqRZimI4PQl3tEse2cKnurnKogzCj1Y%3D
last-modified
Fri, 08 Dec 2023 00:41:12 GMT
server
cloudflare
etag
W/"67ed-18c46df0c40"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701998989&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=X38cROtSZrtdzqRZimI4PQl3tEse2cKnurnKogzCj1Y%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdcd40b0-SIN
918-2bc923a863bc29d4.js
observablehq.com/_next/static/chunks/
13 KB
7 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/918-2bc923a863bc29d4.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
10721072fa640a140e6ac0d64c00e52ce5bc96c15ff419273eab058bee1f4720
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
718972
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701998989&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=X38cROtSZrtdzqRZimI4PQl3tEse2cKnurnKogzCj1Y%3D
last-modified
Fri, 08 Dec 2023 00:41:12 GMT
server
cloudflare
etag
W/"349b-18c46df0c40"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701998989&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=X38cROtSZrtdzqRZimI4PQl3tEse2cKnurnKogzCj1Y%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59bdcf40b0-SIN
6230-3d2362e21a027bf6.js
observablehq.com/_next/static/chunks/
141 KB
42 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/6230-3d2362e21a027bf6.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
8d16f55440b76ab80eb27c65b32f600b7f5880409040404721eac793c125bf02
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"23482-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdd040b0-SIN
9676-a41451d2fd3611f3.js
observablehq.com/_next/static/chunks/
58 KB
19 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/9676-a41451d2fd3611f3.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
55242b8c0e3d215653b7002af55590434392337fcdfa6764681b32763d56c544
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
718971
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701998990&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=2twjQ%2FpxwfGTl6W50XOYmb6fXrACgMjV6HI%2FIXjEBcM%3D
last-modified
Fri, 08 Dec 2023 00:41:12 GMT
server
cloudflare
etag
W/"e98d-18c46df0c40"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701998990&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=2twjQ%2FpxwfGTl6W50XOYmb6fXrACgMjV6HI%2FIXjEBcM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdd440b0-SIN
2911-65d09b2db05a5492.js
observablehq.com/_next/static/chunks/
26 KB
10 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/2911-65d09b2db05a5492.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
f8fb7bcc88cb9cb356c05ee8993db9cc21372b55bc0dccf5babce11228aa0eec
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
282302
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702435658&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=noCxtvgPeb2OWHyg7fTiOlmZ6yF67%2BAHdjBqdbLjHn4%3D
last-modified
Wed, 13 Dec 2023 02:39:39 GMT
server
cloudflare
etag
W/"68f0-18c610b49f8"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702435658&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=noCxtvgPeb2OWHyg7fTiOlmZ6yF67%2BAHdjBqdbLjHn4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdd640b0-SIN
6132-721bb0f859915af7.js
observablehq.com/_next/static/chunks/
7 KB
3 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/6132-721bb0f859915af7.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3851a51d8008cbbef2c3ddb1775c29424893b218cee709af2f1936370889895
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
209388
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702508573&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=sOvebJYHf7ejI3jNGpLwFlnz%2FiEHGMCKBEqEww8g5m0%3D
last-modified
Wed, 13 Dec 2023 22:43:35 GMT
server
cloudflare
etag
W/"1a1c-18c655985d8"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702508573&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=sOvebJYHf7ejI3jNGpLwFlnz%2FiEHGMCKBEqEww8g5m0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdd940b0-SIN
8325-cc9754168cf601cd.js
observablehq.com/_next/static/chunks/
10 KB
5 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/8325-cc9754168cf601cd.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
7f8fc3b97baa9f2659f648398d8e60f5800e4991550c3db4eaac38a2efc4eca2
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
232452
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702485509&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=UoH3uGouygmuFNuMG5IXwvwKmUNXyMEzVaNGzjDWdCY%3D
last-modified
Wed, 13 Dec 2023 15:54:06 GMT
server
cloudflare
etag
W/"26a8-18c63e2a130"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702485509&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=UoH3uGouygmuFNuMG5IXwvwKmUNXyMEzVaNGzjDWdCY%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdde40b0-SIN
5746-f086a99120c46163.js
observablehq.com/_next/static/chunks/
383 KB
111 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/5746-f086a99120c46163.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
8882201fa05f1564f634ad890f52043c981af2a6a068287c5355521b03146d82
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"5fa67-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cddf40b0-SIN
2015-a6bbe3592118fad3.js
observablehq.com/_next/static/chunks/
46 KB
17 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/2015-a6bbe3592118fad3.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
d2203132027d40d044bd287b7be1bdb02b84c9e50e4b036f0fb3529b3ac8756a
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"b6ed-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cde140b0-SIN
847-18a258afcf99a54d.js
observablehq.com/_next/static/chunks/
65 KB
19 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/847-18a258afcf99a54d.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
f0c35de298ddd804dd04882a79f3397da84829d9c8c1d6d301e153c4147f5dd4
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1492657
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701225303&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=oHTIxs8xtUaw16JNXQqT3n3yBz8h7bq6Vd4EbzyWUMQ%3D
last-modified
Wed, 29 Nov 2023 00:14:30 GMT
server
cloudflare
etag
W/"105a9-18c186d5e70"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701225303&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=oHTIxs8xtUaw16JNXQqT3n3yBz8h7bq6Vd4EbzyWUMQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cde240b0-SIN
5237-ff93ce30aaf592f6.js
observablehq.com/_next/static/chunks/
33 KB
10 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/5237-ff93ce30aaf592f6.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
2d8a3c8bb567a1f9c14c020f6a612f6ca2febda040394bbdc258d31c18c398c8
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"8228-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cde440b0-SIN
4580-0b7c2be1736841ae.js
observablehq.com/_next/static/chunks/
98 KB
30 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/4580-0b7c2be1736841ae.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
837031f3fcdb42067a156e56dc50166ec2d8d5a1531ff22726abb7a4a2876fa7
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
53461
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702664499&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=nMOM3RYMY%2BuslQ4nLWfd%2F%2FQe9rdjlA2PP5KlygQO6WA%3D
last-modified
Fri, 15 Dec 2023 17:37:13 GMT
server
cloudflare
etag
W/"18746-18c6e8dc128"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702664499&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=nMOM3RYMY%2BuslQ4nLWfd%2F%2FQe9rdjlA2PP5KlygQO6WA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cde740b0-SIN
6352-6d7c87ea8d1be925.js
observablehq.com/_next/static/chunks/
20 KB
7 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/6352-6d7c87ea8d1be925.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
4918c1a1e2668e4509854a6763c765ce85a3cfd89bf16e9276d46ccad7842a15
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1326167
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701391794&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=p5PCP2yhWEdtsK8s1V7A1Znj3vh4UlFu7xQ53yafJ60%3D
last-modified
Thu, 30 Nov 2023 18:31:33 GMT
server
cloudflare
etag
W/"4fb6-18c21801b88"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701391794&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=p5PCP2yhWEdtsK8s1V7A1Znj3vh4UlFu7xQ53yafJ60%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdea40b0-SIN
2782-fb332bf912721df6.js
observablehq.com/_next/static/chunks/
13 KB
5 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/2782-fb332bf912721df6.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e503ce1761da36c0d75049ace6c0d1b7508b5e38286f7a1bbcee9c4aea97a6c7
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
924927
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701793034&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=WfrLMNVuUJ6NzX88eCFK0ebbgfRz0uooUFm0Fuv4Vp4%3D
last-modified
Tue, 05 Dec 2023 16:00:58 GMT
server
cloudflare
etag
W/"346b-18c3ab60a90"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701793034&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=WfrLMNVuUJ6NzX88eCFK0ebbgfRz0uooUFm0Fuv4Vp4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdeb40b0-SIN
629-c78854374fee6392.js
observablehq.com/_next/static/chunks/
292 KB
84 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/629-c78854374fee6392.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
3c2b42bd1e9526c6e334236e0cd4e9ffb33288b9df07428e83f677c7ed5a84c0
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
114580
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702603381&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=HZLdyT7IHvY4Npe3M2xxYgibMD7zAaaUnEQmaPlcEy4%3D
last-modified
Thu, 14 Dec 2023 23:54:40 GMT
server
cloudflare
etag
W/"49115-18c6ac0f600"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702603381&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=HZLdyT7IHvY4Npe3M2xxYgibMD7zAaaUnEQmaPlcEy4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdee40b0-SIN
8609-13430b3ab985d6a2.js
observablehq.com/_next/static/chunks/
10 KB
4 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/8609-13430b3ab985d6a2.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
296d705c888a95d10a01729a889a28aea6c0d4ec78ddd3ef1961c5d4b9e339cf
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
718969
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701998992&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=5nHVdQNtnkzWyk3S%2BslDOSiAV0HAtSEkJSfa5DcW1sw%3D
last-modified
Fri, 08 Dec 2023 00:41:12 GMT
server
cloudflare
etag
W/"2720-18c46df0c40"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701998992&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=5nHVdQNtnkzWyk3S%2BslDOSiAV0HAtSEkJSfa5DcW1sw%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdef40b0-SIN
9391-3e6670936955dd34.js
observablehq.com/_next/static/chunks/
69 KB
22 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/9391-3e6670936955dd34.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3616406fbcbacc7bee5f9fa071fef36d5f6c68628c3508bb5a845420c9bcb59
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
282302
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702435658&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=noCxtvgPeb2OWHyg7fTiOlmZ6yF67%2BAHdjBqdbLjHn4%3D
last-modified
Wed, 13 Dec 2023 02:39:39 GMT
server
cloudflare
etag
W/"11284-18c610b49f8"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702435658&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=noCxtvgPeb2OWHyg7fTiOlmZ6yF67%2BAHdjBqdbLjHn4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdf240b0-SIN
1602-fa59185a704747da.js
observablehq.com/_next/static/chunks/
36 KB
10 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/1602-fa59185a704747da.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
78df1ed9d75145ced81e393d9b9b091eb6a72e860139b822b1f4e094534ce706
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
114580
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702603381&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=HZLdyT7IHvY4Npe3M2xxYgibMD7zAaaUnEQmaPlcEy4%3D
last-modified
Thu, 14 Dec 2023 23:54:40 GMT
server
cloudflare
etag
W/"9113-18c6ac0f600"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702603381&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=HZLdyT7IHvY4Npe3M2xxYgibMD7zAaaUnEQmaPlcEy4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdf540b0-SIN
%5B...specifiers%5D-5f67f4938862f9bd.js
observablehq.com/_next/static/chunks/pages/%5Bat%5D/
66 KB
21 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/%5Bat%5D/%5B...specifiers%5D-5f67f4938862f9bd.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
8e7b1adef31b67da5ecae5e37ff132f95055029c6c636e7d1e94abd72541004c
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43326
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"10873-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdf640b0-SIN
_buildManifest.js
observablehq.com/_next/static/XKMsWK-BMKPYHP6YfjEBD/
11 KB
4 KB
Script
General
Full URL
https://observablehq.com/_next/static/XKMsWK-BMKPYHP6YfjEBD/_buildManifest.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
1c5840a2b21578eb04438de328d08e43a8843105e2497a9929c29dd7dbca0030
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:26 GMT
server
cloudflare
etag
W/"2af2-18c6f383db0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdf740b0-SIN
_ssgManifest.js
observablehq.com/_next/static/XKMsWK-BMKPYHP6YfjEBD/
423 B
2 KB
Script
General
Full URL
https://observablehq.com/_next/static/XKMsWK-BMKPYHP6YfjEBD/_ssgManifest.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
366d8f3780d5751df4c305e7c72a955e8bdd8cac444d41dfaa45c1f997ed59ef
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
via
1.1 vegur
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
age
43335
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:44:27 GMT
server
cloudflare
etag
W/"1a7-18c6f392bf8"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cdfa40b0-SIN
5af16e327a90b2873351dda8a596c0d2d3bf954f64523deefe80177c9764d0f7
avatars.observableusercontent.com/avatar/
903 B
2 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/5af16e327a90b2873351dda8a596c0d2d3bf954f64523deefe80177c9764d0f7?s=60&format=avif
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
4bd9898c1440309b272c841a6643599016ab54fb6babb8f42e05d5bf54591937
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
3235595
alt-svc
h3=":443"; ma=86400
content-length
903
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699482366&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=5RgWt4QaKlwBzOHl9EhtxG9oAeZ0ZEQuwonq4STwNzw%3D
server
cloudflare
etag
"387-84fwpIkSccKCehHAmypK5qMee54"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699482366&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=5RgWt4QaKlwBzOHl9EhtxG9oAeZ0ZEQuwonq4STwNzw%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce59cedea06c-SIN
82811927da99f8938001b2ef1f552ad2c47083e46ebc55a3a146a5a5848c4519
avatars.observableusercontent.com/avatar/
1 KB
2 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/82811927da99f8938001b2ef1f552ad2c47083e46ebc55a3a146a5a5848c4519?s=60&format=avif
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
1c950e2053e64c7797151b6d34c215383c79d6dd98397d2fa79b5b20236527a9
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1405971
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701311990&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=4%2FkajRhoM37d4M1cS1q6mwolSWVk9QN4yGQU8lQobF8%3D
server
cloudflare
etag
W/"4da-N3xkRauhIu2kDAGdQwBWAFJrKS8"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701311990&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=4%2FkajRhoM37d4M1cS1q6mwolSWVk9QN4yGQU8lQobF8%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce59cee2a06c-SIN
css2
fonts.googleapis.com/
13 KB
1 KB
Stylesheet
General
Full URL
https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/css/a28d28f00c8309d6.css
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c1c::5f Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
ESF /
Resource Hash
770f4379a6864ee9d2e7ce78809068b201724067f3b6ebd1863f202a57521e30
Security Headers
Name Value
Strict-Transport-Security max-age=31536000
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
X-Xss-Protection 0

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

strict-transport-security
max-age=31536000
date
Sat, 16 Dec 2023 09:12:41 GMT
content-encoding
gzip
x-content-type-options
nosniff
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
x-xss-protection
0
last-modified
Sat, 16 Dec 2023 09:12:41 GMT
server
ESF
cross-origin-opener-policy
same-origin-allow-popups
x-frame-options
SAMEORIGIN
content-type
text/css; charset=utf-8
access-control-allow-origin
*
cache-control
private, max-age=86400, stale-while-revalidate=604800
timing-allow-origin
*
link
<https://fonts.gstatic.com>; rel=preconnect; crossorigin
expires
Sat, 16 Dec 2023 09:12:41 GMT
neIXzD-0qpwxpaWvjeD0X88SAOeasasatSyqxA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/
21 KB
22 KB
Font
General
Full URL
https://fonts.gstatic.com/s/sourceserifpro/v17/neIXzD-0qpwxpaWvjeD0X88SAOeasasatSyqxA.woff2
Requested by
Host: fonts.googleapis.com
URL: https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c00::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
cc308be27791dc58e7ce19f0d245ef66b8eb6975b8c7ae22d97c09927c84dc48
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://fonts.googleapis.com/
Origin
https://observablehq.com
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Wed, 13 Dec 2023 07:28:49 GMT
x-content-type-options
nosniff
age
265432
content-security-policy-report-only
require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
21528
x-xss-protection
0
last-modified
Thu, 01 Jun 2023 23:15:59 GMT
server
sffe
cross-origin-opener-policy
same-origin; report-to="apps-themes"
report-to
{"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Thu, 12 Dec 2024 07:28:49 GMT
neIXzD-0qpwxpaWvjeD0X88SAOeasc8btSyqxA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/
21 KB
21 KB
Font
General
Full URL
https://fonts.gstatic.com/s/sourceserifpro/v17/neIXzD-0qpwxpaWvjeD0X88SAOeasc8btSyqxA.woff2
Requested by
Host: fonts.googleapis.com
URL: https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c00::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
190c3fdc18618a4473729faa65a7dfd810fef1d70ce2c3fe71cb1ed843cf08cb
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://fonts.googleapis.com/
Origin
https://observablehq.com
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Fri, 15 Dec 2023 17:31:30 GMT
x-content-type-options
nosniff
age
56471
content-security-policy-report-only
require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
21432
x-xss-protection
0
last-modified
Thu, 01 Jun 2023 23:32:52 GMT
server
sffe
cross-origin-opener-policy
same-origin; report-to="apps-themes"
report-to
{"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Sat, 14 Dec 2024 17:31:30 GMT
neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/
20 KB
20 KB
Font
General
Full URL
https://fonts.gstatic.com/s/sourceserifpro/v17/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oA.woff2
Requested by
Host: fonts.googleapis.com
URL: https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c00::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
7d04f2cd8792432943d7c73c9b2173b3faee45ecd9334ad6a9812729b88aa69a
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://fonts.googleapis.com/
Origin
https://observablehq.com
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 08:09:58 GMT
x-content-type-options
nosniff
age
3763
content-security-policy-report-only
require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
20528
x-xss-protection
0
last-modified
Thu, 01 Jun 2023 23:17:09 GMT
server
sffe
cross-origin-opener-policy
same-origin; report-to="apps-themes"
report-to
{"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Sun, 15 Dec 2024 08:09:58 GMT
/
o299802.ingest.sentry.io/api/5593183/envelope/
2 B
324 B
Fetch
General
Full URL
https://o299802.ingest.sentry.io/api/5593183/envelope/?sentry_key=ca9eac14b9164458a334243bb3c08c45&sentry_version=7&sentry_client=sentry.javascript.nextjs%2F7.80.0
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
34.120.195.249 Kansas City, United States, ASN396982 (GOOGLE-CLOUD-PLATFORM, US),
Reverse DNS
249.195.120.34.bc.googleusercontent.com
Software
nginx /
Resource Hash
44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains; preload

Request headers

Referer
https://observablehq.com/
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
via
1.1 google
server
nginx
vary
origin,access-control-request-method,access-control-request-headers
content-type
application/json
access-control-allow-origin
*
access-control-expose-headers
x-sentry-error,x-sentry-rate-limits,retry-after
x-envoy-upstream-service-time
0
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
2
collect
www.google-analytics.com/g/
0
255 B
Ping
General
Full URL
https://www.google-analytics.com/g/collect?v=2&tid=G-9B88TP6PKQ&gtm=45je3bt0v9106904790&_p=1702717961216&gcd=11l1l1l1l1&dma=0&cid=1899327056.1702717962&ul=en-us&_eu=AEA&_geo=1&_rdi=1&_s=1&sid=1702717961&sct=1&seg=0&dl=https%3A%2F%2Fobservablehq.com%2F%40d3%2Fdrag-zoom&dt=Drag%20%26%20Zoom%20%2F%20D3%20%7C%20Observable&en=scroll&_fv=1&_nsi=1&_ss=1&epn.percent_scrolled=90&tfd=1722
Requested by
Host: www.googletagmanager.com
URL: https://www.googletagmanager.com/gtag/js?id=G-9B88TP6PKQ
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c1a::8b Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

pragma
no-cache
date
Sat, 16 Dec 2023 09:12:41 GMT
server
Golfe2
content-type
text/plain
access-control-allow-origin
https://observablehq.com
cache-control
no-cache, no-store, must-revalidate
access-control-allow-credentials
true
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
featured-creators
api.observablehq.com/collection/@observablehq/
394 KB
62 KB
Fetch
General
Full URL
https://api.observablehq.com/collection/@observablehq/featured-creators?with_listings=false
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
6e788865f2c57a22e434d28506a820c9aa1c9f29d3832ad19d22d6316f5ea2de
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
content-encoding
gzip
age
74507
via
1.1 vegur
content-length
63292
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702643453&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=mXux252nRGv7Y8axG%2BKDNe83amzoekBO9AZzmDC%2BEMQ%3D
server
cloudflare
etag
"62794-eKK8iMaMdNx75gctwwEQHf/19J8"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702643453&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=mXux252nRGv7Y8axG%2BKDNe83amzoekBO9AZzmDC%2BEMQ%3D"}]}
content-type
application/json; charset=utf-8
access-control-allow-origin
https://observablehq.com
cache-control
public, max-age=86400
access-control-allow-credentials
true
vary
Origin, Accept-Encoding
accept-ranges
bytes
cf-ray
8365ce5d8a2640b0-SIN
access-control-allow-headers
Authorization, Content-Type
user
api.observablehq.com/
4 B
782 B
Fetch
General
Full URL
https://api.observablehq.com/user
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
BYPASS
via
1.1 vegur
content-length
4
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702717962&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=O%2F%2Bzjyx%2BUndTNMoev5zgfMV4f9Wx0OKKGb%2FMGFZ%2Byj4%3D
server
cloudflare
etag
"4-K+iMpCQsduglOsYkdIUQZQMtaDM"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702717962&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=O%2F%2Bzjyx%2BUndTNMoev5zgfMV4f9Wx0OKKGb%2FMGFZ%2Byj4%3D"}]}
content-type
application/json; charset=utf-8
access-control-allow-origin
https://observablehq.com
cache-control
private, no-cache, must-revalidate
access-control-allow-credentials
true
vary
Origin, Accept-Encoding
accept-ranges
bytes
cf-ray
8365ce5d8a2140b0-SIN
access-control-allow-headers
Authorization, Content-Type
771.0022f555913cacc3.js
observablehq.com/_next/static/chunks/
7 MB
1 MB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/771.0022f555913cacc3.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
23a32a0f7aca3db09082f90c9a4aca83ea085a7231d923eb9ea0237e2f3daaf7
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:41 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
3144419
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699573542&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=ifVRxUXSfEXoI6mrNMmF1PBagSbIJP5AZkTggkoY8Pk%3D
last-modified
Thu, 09 Nov 2023 20:48:29 GMT
server
cloudflare
etag
W/"7641cc-18bb5d7ed48"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699573542&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=ifVRxUXSfEXoI6mrNMmF1PBagSbIJP5AZkTggkoY8Pk%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5d7a1240b0-SIN
worker-98dce999.html
d3.static.observableusercontent.com/next/ Frame C28A
282 B
844 B
Document
General
Full URL
https://d3.static.observableusercontent.com/next/worker-98dce999.html
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/629-c78854374fee6392.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::6815:5381 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
acf8fe7e8e18357a39f0af5a920198cd0f6c86af01f744a74168f93fd69358b8

Request headers

Referer
https://observablehq.com/
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36
accept-language
zh-SG,zh;q=0.9

Response headers

age
119251
alt-svc
h3=":443"; ma=86400
cache-control
public, max-age=31536000, immutable
cf-cache-status
DYNAMIC
cf-ray
8365ce5e0923490c-SIN
content-encoding
br
content-type
text/html; charset=utf-8
date
Sat, 16 Dec 2023 09:12:41 GMT
last-modified
Thu, 14 Dec 2023 23:50:19 GMT
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=enxJpj%2BR5YExIx9NJUekA4YXXNn%2FeH76uuvAiEmeDI2l1atVs%2F8OvtxaixpdYEaN7qxdk4Ik73TLzJAnvu0%2BhYFuoTlFv5Sz%2BJxPDHkz8NI65LuRqWQ%2BHuJZNvUMDom1UFK51bkf%2BxE1uVEVbD1d5qEYPUOrwuxBi%2FlVW7gP9I04jA%3D%3D"}],"group":"cf-nel","max_age":604800}
server
cloudflare
via
1.1 0d4aa9f487883216469659ecf56a9a92.cloudfront.net (CloudFront)
x-amz-cf-id
eKwnD00OyJNnSG-h_wwHDiTiMkrJ-0MCaeF2ZsAVz6fEKhF-0lIs6w==
x-amz-cf-pop
SIN52-C2
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
8810-5c7f38850c91660f.js
observablehq.com/_next/static/chunks/
0
9 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/8810-5c7f38850c91660f.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
724005
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701993957&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=6QboaHKnj%2FPJ3arK1unh8AyRfm%2FffrySPdgdR%2BL4h%2F0%3D
last-modified
Thu, 07 Dec 2023 23:14:52 GMT
server
cloudflare
etag
W/"4aa7-18c469001e0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701993957&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=6QboaHKnj%2FPJ3arK1unh8AyRfm%2FffrySPdgdR%2BL4h%2F0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c0840b0-SIN
6079-890e2f68adadc60d.js
observablehq.com/_next/static/chunks/
0
17 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/6079-890e2f68adadc60d.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43336
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"135e6-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c0a40b0-SIN
6173-c54c16c885a02fa5.js
observablehq.com/_next/static/chunks/
0
4 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/6173-c54c16c885a02fa5.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43336
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"32fe-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c0b40b0-SIN
4021-770e0ca2fc268a55.js
observablehq.com/_next/static/chunks/
0
29 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/4021-770e0ca2fc268a55.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"1e351-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c0c40b0-SIN
1442-891c089a11b8aad0.js
observablehq.com/_next/static/chunks/
0
10 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/1442-891c089a11b8aad0.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43336
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"82c2-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c0d40b0-SIN
index-07bd490c5979e24b.js
observablehq.com/_next/static/chunks/pages/
0
647 B
Other
General
Full URL
https://observablehq.com/_next/static/chunks/pages/index-07bd490c5979e24b.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
via
1.1 vegur
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
age
43336
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"3ac-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c0e40b0-SIN
why-observable.json
observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/
26 KB
6 KB
Fetch
General
Full URL
https://observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/why-observable.json
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
f50e938409c37d203e95991af039b9eeb3a27598b0eeb7d098ddd3287a83657c
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

purpose
prefetch
x-nextjs-data
1
Referer
https://observablehq.com/@d3/drag-zoom
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
x-nextjs-matched-path
/why-observable
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
EXPIRED
content-encoding
gzip
via
1.1 vegur
x-nextjs-cache
STALE
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702717962&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7Ek3li1kiVVxsFPykA4I9yLOXpnMm6NI3tWBAJvDfks%3D
server
cloudflare
etag
"dkxcrrsk0qkde"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702717962&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7Ek3li1kiVVxsFPykA4I9yLOXpnMm6NI3tWBAJvDfks%3D"}]}
content-type
application/json
cache-control
s-maxage=60, stale-while-revalidate
cf-ray
8365ce5f2c0f40b0-SIN
why-observable-f69dbe892d5e4a3d.js
observablehq.com/_next/static/chunks/pages/
0
3 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/pages/why-observable-f69dbe892d5e4a3d.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43327
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"dc5-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c1140b0-SIN
enterprise.json
observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/
28 KB
5 KB
Fetch
General
Full URL
https://observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/enterprise.json
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
880ebf28d20fe5f2c60c342ab5e80b63dee9630ce74616ebe62c402d35c13162
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

purpose
prefetch
x-nextjs-data
1
Referer
https://observablehq.com/@d3/drag-zoom
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
x-nextjs-matched-path
/enterprise
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
EXPIRED
content-encoding
gzip
via
1.1 vegur
x-nextjs-cache
STALE
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702717962&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7Ek3li1kiVVxsFPykA4I9yLOXpnMm6NI3tWBAJvDfks%3D
server
cloudflare
etag
"38j7x1qg7dma9"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702717962&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7Ek3li1kiVVxsFPykA4I9yLOXpnMm6NI3tWBAJvDfks%3D"}]}
content-type
application/json
cache-control
s-maxage=60, stale-while-revalidate
cf-ray
8365ce5f2c1340b0-SIN
enterprise-8c06ec85ce925a0b.js
observablehq.com/_next/static/chunks/pages/
0
3 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/pages/enterprise-8c06ec85ce925a0b.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43327
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"dc1-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c1540b0-SIN
pricing.json
observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/
21 KB
5 KB
Fetch
General
Full URL
https://observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/pricing.json
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
3b5c9bf435929078ee8f9d9d2859d98574bb32a16f7fbf469eeb83cd791473fa
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

purpose
prefetch
x-nextjs-data
1
Referer
https://observablehq.com/@d3/drag-zoom
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
x-nextjs-matched-path
/pricing
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
EXPIRED
content-encoding
gzip
via
1.1 vegur
x-nextjs-cache
STALE
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702717962&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7Ek3li1kiVVxsFPykA4I9yLOXpnMm6NI3tWBAJvDfks%3D
server
cloudflare
etag
"153wccxwa2dgom"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702717962&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7Ek3li1kiVVxsFPykA4I9yLOXpnMm6NI3tWBAJvDfks%3D"}]}
content-type
application/json
cache-control
s-maxage=60, stale-while-revalidate
cf-ray
8365ce5f2c1440b0-SIN
pricing-680b53b9df53213a.js
observablehq.com/_next/static/chunks/pages/
0
1 KB
Other
General
Full URL
https://observablehq.com/_next/static/chunks/pages/pricing-680b53b9df53213a.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43327
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"dbc-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c1640b0-SIN
%5Bat%5D-8a5ffa4be6fa2d53.js
observablehq.com/_next/static/chunks/pages/
0
630 B
Other
General
Full URL
https://observablehq.com/_next/static/chunks/pages/%5Bat%5D-8a5ffa4be6fa2d53.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
via
1.1 vegur
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
age
114578
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702603383&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8D2RcaPy6XTeYxm3lWZ52Ml0rDVzksOyCYhOHMmIVZ4%3D
last-modified
Thu, 14 Dec 2023 23:54:40 GMT
server
cloudflare
etag
W/"148-18c6ac0f600"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702603383&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8D2RcaPy6XTeYxm3lWZ52Ml0rDVzksOyCYhOHMmIVZ4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce5f2c1840b0-SIN
worker-94d28b2b.css
static.observableusercontent.com/next/ Frame C28A
8 KB
3 KB
Stylesheet
General
Full URL
https://static.observableusercontent.com/next/worker-94d28b2b.css
Requested by
Host: d3.static.observableusercontent.com
URL: https://d3.static.observableusercontent.com/next/worker-98dce999.html
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
ba48466aed6ed4d78eda56878bac7fc3b4787e700d781a779f72cefbbbddedab

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://d3.static.observableusercontent.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Fri, 01 Dec 2023 15:40:31 GMT
content-encoding
gzip
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Thu, 30 Nov 2023 18:25:48 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
1272732
etag
W/"b28cd0d3a974af3225288cbe2ff13e97"
x-amz-server-side-encryption
AES256
vary
Accept-Encoding
x-cache
Hit from cloudfront
content-type
text/css; charset=utf-8
cache-control
public, max-age=31536000, immutable
x-amz-cf-id
gAMDJsTQhRwnUaM28xoK1vLuO492XagzS7CZpDPDw2_2AQeGtKnn7w==
worker-7dc963d7.js
static.observableusercontent.com/next/ Frame C28A
132 KB
42 KB
Script
General
Full URL
https://static.observableusercontent.com/next/worker-7dc963d7.js
Requested by
Host: d3.static.observableusercontent.com
URL: https://d3.static.observableusercontent.com/next/worker-98dce999.html
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
c177d04e761a1ee16e8dd80ec2e708e290719cba61bfc06d9508c70a8ca5e511

Request headers

Referer
https://d3.static.observableusercontent.com/
Origin
https://d3.static.observableusercontent.com
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Fri, 15 Dec 2023 00:44:49 GMT
content-encoding
gzip
via
1.1 73a569eafe77b39b17f3e8ef76c14c7c.cloudfront.net (CloudFront)
x-amz-cf-pop
SIN2-P2
age
116874
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
last-modified
Thu, 14 Dec 2023 23:50:18 GMT
server
AmazonS3
etag
W/"1b27c432267922b3b3f8cc1d62667d2c"
access-control-max-age
3000
access-control-allow-methods
GET
content-type
application/javascript; charset=utf-8
access-control-allow-origin
*
cache-control
public, max-age=31536000, immutable
vary
Accept-Encoding,Origin,Access-Control-Request-Headers,Access-Control-Request-Method
x-amz-cf-id
XG-FIx-xKOH0AFyL4jNKvcaY3PVN-vmcTjcdiyakwEOcRXMN4L6tmw==
001eda96ca4dcca562e7236ae19e698720e8ea20a3d23a09a96333702c4b0f7a
avatars.observableusercontent.com/avatar/
572 B
976 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/001eda96ca4dcca562e7236ae19e698720e8ea20a3d23a09a96333702c4b0f7a?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
cd93e0ea066c5391ff7e0377dda6fd4789b46604a4a2abb105e9dda711660cdc
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1576512
alt-svc
h3=":443"; ma=86400
content-length
572
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701141450&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=ckjfDT3tfW%2BIylmMCOg60NhviF9DHTpz8g%2FcTtMm0YY%3D
server
cloudflare
etag
"23c-JTTUsNqAqw5BOxJNVCQ7NRiE/gw"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701141450&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=ckjfDT3tfW%2BIylmMCOg60NhviF9DHTpz8g%2FcTtMm0YY%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce602df1a06c-SIN
28b8518718dc3e70bed3a8256215864c8ac22777155e21dd5564f285665f60ae
avatars.observableusercontent.com/avatar/
1 KB
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/28b8518718dc3e70bed3a8256215864c8ac22777155e21dd5564f285665f60ae?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
93981ede35d910bc63dee4c3d12ba95597978159c80c044cb68c1ad0aba44b32
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
3840069
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1698877893&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=1R9pAd%2BZggUy7gN9AQo31%2BbpuAQ%2Bz%2FCPjd3IFfq3mZ0%3D
server
cloudflare
etag
W/"41b-+xqBjRt2raCbNqoLkKG7LnNbZNI"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1698877893&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=1R9pAd%2BZggUy7gN9AQo31%2BbpuAQ%2Bz%2FCPjd3IFfq3mZ0%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce602dfda06c-SIN
861da0051a157e62597b296628277cdd29a997fbc1a0d17912d8bc471c2bbc80
avatars.observableusercontent.com/avatar/
337 B
714 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/861da0051a157e62597b296628277cdd29a997fbc1a0d17912d8bc471c2bbc80?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
ea4ebfc541278246e0d1e2bb47a7f9b068abbe4f8540c79d1b7d38fb3e5101b0
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
112365
alt-svc
h3=":443"; ma=86400
content-length
337
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702605597&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Vh7NLV58SgXGKRWRQsKcztJ%2FLtzeTYcfEFPtwmB%2F9B0%3D
server
cloudflare
etag
"151-+GBVb333xYF69xKEBrenZqYlCdM"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702605597&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Vh7NLV58SgXGKRWRQsKcztJ%2FLtzeTYcfEFPtwmB%2F9B0%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce602e04a06c-SIN
12c60274e2555658e9cbaec1f314da2e8640aa5e84ea8edc2035cad8ed78f960
avatars.observableusercontent.com/avatar/
330 B
728 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/12c60274e2555658e9cbaec1f314da2e8640aa5e84ea8edc2035cad8ed78f960?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
812a66d1512ed555b45374bf11b0c66c952a3c9a8a670642cdf96de272a2236a
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1322564
alt-svc
h3=":443"; ma=86400
content-length
330
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701395398&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=lfB8AuRCtQj25RYb1Df03FyfSQTmpcSI8gauyyRENJo%3D
server
cloudflare
etag
"14a-NU8RNnx9Gp1yiZgwVPMcsOkVIeQ"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701395398&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=lfB8AuRCtQj25RYb1Df03FyfSQTmpcSI8gauyyRENJo%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce602e0ba06c-SIN
3da8dfae158d0eac994729272d88a21b700faaa2f34a98d6518064aaa722a9c9
avatars.observableusercontent.com/avatar/
1009 B
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/3da8dfae158d0eac994729272d88a21b700faaa2f34a98d6518064aaa722a9c9?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
9ae0099026a800a0e7b45f78e9daad7fe630adf2b13746b0fb55b81e1cb78503
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
3656111
alt-svc
h3=":443"; ma=86400
content-length
1009
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699061851&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=4iOouyxAgnspy3%2FeEcTX4wvC2gn0ES51UGjb5wtXu3A%3D
server
cloudflare
etag
"3f1-7FruKHwEtUKxvhs3i7373Kfke3Y"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699061851&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=4iOouyxAgnspy3%2FeEcTX4wvC2gn0ES51UGjb5wtXu3A%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce602e12a06c-SIN
22750d026c52fd24881cb2eb265d03d5cafee7d9b9c7640bc14c1c591e53852f
avatars.observableusercontent.com/avatar/
1 KB
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/22750d026c52fd24881cb2eb265d03d5cafee7d9b9c7640bc14c1c591e53852f?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
c759aa22e59d62edbd9e68db202982b5b3d1b8e3422a6a4ae3597f7a15b88a60
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1322564
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701395397&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=cK46NPL7%2BYjpTjN%2FK6PQjxtgD6FEZoVQ3wV548OpjlA%3D
server
cloudflare
etag
W/"44a-MwPCqyYD+IuK4kwnpNkiiBzaf28"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701395397&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=cK46NPL7%2BYjpTjN%2FK6PQjxtgD6FEZoVQ3wV548OpjlA%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce602e13a06c-SIN
3650447af2e2411fcfe3aa899ed520cce0fe01a62f5b78ec6617c32d64cdf326
avatars.observableusercontent.com/avatar/
577 B
955 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/3650447af2e2411fcfe3aa899ed520cce0fe01a62f5b78ec6617c32d64cdf326?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
1dc920f9690b71c78c576759ce75617daac485594faba0b1c9f28ef751858b7c
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
112365
alt-svc
h3=":443"; ma=86400
content-length
577
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702605596&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=CHmnWpteBQ9O%2Bps41dllNDAk1xnJiBgqjCnAJuZXZRw%3D
server
cloudflare
etag
"241-numO8ge8b5UoUPgv7g6zIT9GD9w"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702605596&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=CHmnWpteBQ9O%2Bps41dllNDAk1xnJiBgqjCnAJuZXZRw%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce602e15a06c-SIN
a35a91b5ca23c5dd084a628d6c4898fb6eefb2ede192b1801b0efae516f49017
avatars.observableusercontent.com/avatar/
812 B
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/a35a91b5ca23c5dd084a628d6c4898fb6eefb2ede192b1801b0efae516f49017?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
7fc80bb82fc5d7bdd213a27f7a382e7fd36463178193a4c067d838dc632e1fa0
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
3235616
alt-svc
h3=":443"; ma=86400
content-length
812
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699482346&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=EDQhqPlakW%2FWeUno%2Bd1ifekLt6BD2bIFm7ythTra70M%3D
server
cloudflare
etag
"32c-4FtA04ZEREfOvPaCJwytuu3LvKY"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699482346&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=EDQhqPlakW%2FWeUno%2Bd1ifekLt6BD2bIFm7ythTra70M%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365ce602e16a06c-SIN
ec81d47e8647af7f76ea8f171c5d7792d26d3e9a0b353b893529f22882a121c4
avatars.observableusercontent.com/avatar/
1 KB
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/ec81d47e8647af7f76ea8f171c5d7792d26d3e9a0b353b893529f22882a121c4?s=60&format=avif
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
8f55ad833687de686c43e2550c2b860f3254b9262e0e493fe90778302b04e0a1
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
1322564
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701395397&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=cK46NPL7%2BYjpTjN%2FK6PQjxtgD6FEZoVQ3wV548OpjlA%3D
server
cloudflare
etag
W/"424-6CEcVa0dizIDhg20hepfJ9PTAgA"
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701395397&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=cK46NPL7%2BYjpTjN%2FK6PQjxtgD6FEZoVQ3wV548OpjlA%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce602e17a06c-SIN
232cdb2809ef432790a48da78b406ce4da83f46f1190ae25ac5c41ebccf796bc.jpg
static.observableusercontent.com/thumbnail/
24 KB
24 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/232cdb2809ef432790a48da78b406ce4da83f46f1190ae25ac5c41ebccf796bc.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
232cdb2809ef432790a48da78b406ce4da83f46f1190ae25ac5c41ebccf796bc

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Fri, 01 Dec 2023 15:40:30 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Thu, 05 Oct 2023 15:31:22 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
1272732
etag
"9f1e4ce3770080fb4518d8672c1ff66e"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
24617
x-amz-cf-id
AfKppU0sVUJA6hwSlystBWWh2LZxYjjY6vgnD12gXxJOQ_bPHzUcsQ==
3e4b52f797bedc9bc0f2399588379c714363ef6a2fec96dd47b41bfd38a225c1.jpg
static.observableusercontent.com/thumbnail/
34 KB
35 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/3e4b52f797bedc9bc0f2399588379c714363ef6a2fec96dd47b41bfd38a225c1.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
3e4b52f797bedc9bc0f2399588379c714363ef6a2fec96dd47b41bfd38a225c1

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Tue, 03 Oct 2023 03:07:54 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Mon, 02 Oct 2023 20:37:32 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6415489
etag
"baf64095d4a7031195504613a44698e7"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
34935
x-amz-cf-id
du4ho8aG6l59zBVVBTthFMZJ-igsk3SYkrGA0PJQg7qAR5kiOWpn_A==
cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3.jpg
static.observableusercontent.com/thumbnail/
20 KB
21 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Thu, 07 Dec 2023 01:47:51 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Wed, 06 Dec 2023 23:41:37 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
804292
etag
"4769257c99c736eb1f62aac605158d5d"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
20787
x-amz-cf-id
7HtYuL5a8iFuhd9qFltT3WfywlVJLmPaH4ccTiNPfaWquM-gTbVtwA==
790818b959bb2b0488a02e32c6c72368ac678f67a9c4dc0fa82a3b64443f6629.jpg
static.observableusercontent.com/thumbnail/
29 KB
30 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/790818b959bb2b0488a02e32c6c72368ac678f67a9c4dc0fa82a3b64443f6629.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
790818b959bb2b0488a02e32c6c72368ac678f67a9c4dc0fa82a3b64443f6629

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 07 Oct 2023 00:28:14 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Thu, 05 Oct 2023 13:00:49 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6079469
etag
"c96a9c86d430920cae2862836bb6c7c0"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
30069
x-amz-cf-id
WLhMQWdttwaVMmOzTnR9ckAnzEesj1jwSiyYtiZyYYn8ncf1k9Urlg==
cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a.jpg
static.observableusercontent.com/thumbnail/
16 KB
16 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Fri, 29 Sep 2023 04:45:18 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Thu, 28 Sep 2023 22:25:07 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6755245
etag
"344fba922eac7cf55d751390e4de1541"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
16083
x-amz-cf-id
MNtpfjIKftLpF8OHGt14xnpM3bSrf0T5lx1W9hU8GZPLPzABgPSE2A==
da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a.jpg
static.observableusercontent.com/thumbnail/
31 KB
31 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Mon, 02 Oct 2023 17:55:31 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Wed, 27 Sep 2023 17:42:59 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6448632
etag
"dc26c6c7c5df1e36a6cbe2a9da12e741"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
31265
x-amz-cf-id
qhhmFAj-IPXbPNsxn_2nB5_V0R42y2h3xymAM_jF276_lqHbMCEJRQ==
166ac7c7df69640272ca952a247d37b642225193f8f351a4740beaae1da05527.jpg
static.observableusercontent.com/thumbnail/
56 KB
57 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/166ac7c7df69640272ca952a247d37b642225193f8f351a4740beaae1da05527.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
166ac7c7df69640272ca952a247d37b642225193f8f351a4740beaae1da05527

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Mon, 02 Oct 2023 00:12:15 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Sun, 01 Oct 2023 18:19:43 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6512428
etag
"a24775adb2f7c477fafbedc6309b613d"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
57708
x-amz-cf-id
JenLa9WHupE0BURWQUi1jREKm8wu7SSumU2dl1dIUNUtyiAckuLmjQ==
c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3.jpg
static.observableusercontent.com/thumbnail/
27 KB
28 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3.jpg
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2600:9000:223b:ce00:1c:df24:ee80:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Tue, 05 Dec 2023 19:46:48 GMT
via
1.1 25ccb72e6feb2f32f12173080f83f590.cloudfront.net (CloudFront)
last-modified
Tue, 05 Dec 2023 07:28:16 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
912355
etag
"7965cb0a855d9893b7ce52f3e86b74a2"
x-amz-server-side-encryption
AES256
x-cache
Hit from cloudfront
content-type
image/jpeg
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
content-length
27848
x-amz-cf-id
bFWw-buUWq8QQ8lX9cegZpbCgFaBPO8CNmDyIN-6DwYjRb7_fjHwHA==
8810-5c7f38850c91660f.js
observablehq.com/_next/static/chunks/
19 KB
8 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/8810-5c7f38850c91660f.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
f45d59e34017878addf027bca954183479512142121eee8b4c54b75757c006f5
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
724005
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701993957&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=6QboaHKnj%2FPJ3arK1unh8AyRfm%2FffrySPdgdR%2BL4h%2F0%3D
last-modified
Thu, 07 Dec 2023 23:14:52 GMT
server
cloudflare
etag
W/"4aa7-18c469001e0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701993957&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=6QboaHKnj%2FPJ3arK1unh8AyRfm%2FffrySPdgdR%2BL4h%2F0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce60bdb240b0-SIN
6079-890e2f68adadc60d.js
observablehq.com/_next/static/chunks/
77 KB
17 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/6079-890e2f68adadc60d.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
c754675c4d1df17d7082b421403cf12785d86760a9b4dc7830a789533426a9d6
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43336
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"135e6-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce60bdb540b0-SIN
6173-c54c16c885a02fa5.js
observablehq.com/_next/static/chunks/
13 KB
4 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/6173-c54c16c885a02fa5.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
ca213cac02387e1cc4652599d27727c56f51de717d05cb2445c7fb7b22f6fcc5
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43336
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"32fe-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce60bdb740b0-SIN
4021-770e0ca2fc268a55.js
observablehq.com/_next/static/chunks/
121 KB
31 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/4021-770e0ca2fc268a55.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
0666249382568b378953a787041a77640bed96a6eb35c4e65663913d628c099c
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43335
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"1e351-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce60bdb940b0-SIN
1442-891c089a11b8aad0.js
observablehq.com/_next/static/chunks/
33 KB
10 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/1442-891c089a11b8aad0.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
afcf3654e08408d082abd771d49182b43273d311ff1d284e7491f51ac315a2ed
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43336
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"82c2-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce60bdba40b0-SIN
index-07bd490c5979e24b.js
observablehq.com/_next/static/chunks/pages/
940 B
662 B
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/index-07bd490c5979e24b.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
7b09f6ad5ebd0327100676dd6368fbe7d2df2033f69a91e5c4bc0c3a41e12795
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
via
1.1 vegur
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
age
43336
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"3ac-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674626&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=fRo%2FTMjfF6V90U3uWBFQ2Yh9UKmRLQFaEKHgConiPTA%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce60bdbb40b0-SIN
css2
fonts.googleapis.com/ Frame C28A
13 KB
984 B
Stylesheet
General
Full URL
https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Requested by
Host: static.observableusercontent.com
URL: https://static.observableusercontent.com/next/worker-94d28b2b.css
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c1c::5f Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
ESF /
Resource Hash
770f4379a6864ee9d2e7ce78809068b201724067f3b6ebd1863f202a57521e30
Security Headers
Name Value
Strict-Transport-Security max-age=31536000
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
X-Xss-Protection 0

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://static.observableusercontent.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

strict-transport-security
max-age=31536000
date
Sat, 16 Dec 2023 09:12:42 GMT
content-encoding
gzip
x-content-type-options
nosniff
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
x-xss-protection
0
last-modified
Sat, 16 Dec 2023 08:58:43 GMT
server
ESF
cross-origin-opener-policy
same-origin-allow-popups
x-frame-options
SAMEORIGIN
content-type
text/css; charset=utf-8
access-control-allow-origin
*
cache-control
private, max-age=86400, stale-while-revalidate=604800
timing-allow-origin
*
link
<https://fonts.gstatic.com>; rel=preconnect; crossorigin
expires
Sat, 16 Dec 2023 09:12:42 GMT
why-observable-f69dbe892d5e4a3d.js
observablehq.com/_next/static/chunks/pages/
3 KB
1 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/why-observable-f69dbe892d5e4a3d.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
d7e346556256b98c593c64bfc63a378bcc8a09e74792a4c89eeac19efc741739
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43327
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"dc5-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce624f4440b0-SIN
enterprise-8c06ec85ce925a0b.js
observablehq.com/_next/static/chunks/pages/
3 KB
4 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/enterprise-8c06ec85ce925a0b.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
4ca13d2dd1c7c93d5ac4eae6cef0f9ea9fd9ef62f775681db82f032a21b03016
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43327
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"dc1-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce624f4740b0-SIN
pricing-680b53b9df53213a.js
observablehq.com/_next/static/chunks/pages/
3 KB
1 KB
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/pricing-680b53b9df53213a.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
3ed914c02b7e9bcc3190e4d4ba2cc3245c01d90f91f4cf2891298e84843124e6
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
content-encoding
gzip
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
via
1.1 vegur
age
43327
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D
last-modified
Fri, 15 Dec 2023 20:43:27 GMT
server
cloudflare
etag
W/"dbc-18c6f384198"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702674635&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=SxllIO%2FwJKeYjgUZKB06pj%2BLLgTQ4JqTL2GGQSMXddc%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce626f8540b0-SIN
%5Bat%5D-8a5ffa4be6fa2d53.js
observablehq.com/_next/static/chunks/pages/
328 B
615 B
Script
General
Full URL
https://observablehq.com/_next/static/chunks/pages/%5Bat%5D-8a5ffa4be6fa2d53.js
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/main-02f5b46bdaeef216.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
ca9143a0fbfaf1cf8c690013187d88657ec6f13ea86aa1404c28427dfa6869f6
Security Headers
Name Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/@d3/drag-zoom
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
content-security-policy
default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
via
1.1 vegur
strict-transport-security
max-age=86400; includeSubDomains
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
HIT
age
114578
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702603383&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8D2RcaPy6XTeYxm3lWZ52Ml0rDVzksOyCYhOHMmIVZ4%3D
last-modified
Thu, 14 Dec 2023 23:54:40 GMT
server
cloudflare
etag
W/"148-18c6ac0f600"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702603383&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8D2RcaPy6XTeYxm3lWZ52Ml0rDVzksOyCYhOHMmIVZ4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365ce626f8640b0-SIN
marked.min.js
cdn.observableusercontent.com/npm/marked@0.3.12/ Frame C28A
16 KB
6 KB
Script
General
Full URL
https://cdn.observableusercontent.com/npm/marked@0.3.12/marked.min.js
Requested by
Host: static.observableusercontent.com
URL: https://static.observableusercontent.com/next/worker-7dc963d7.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
fb396bdc7fd07201ced045f8b489eac118f267d1194d55dfb97189685a16c82b
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://d3.static.observableusercontent.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
x-content-type-options
nosniff
cf-cache-status
HIT
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
age
1414125
x-jsd-version
0.3.12
content-encoding
br
x-cache
HIT, HIT
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=86400
x-served-by
cache-fra-eddf8230076-FRA, cache-qpg1282-QPG
x-jsd-version-type
version
server
cloudflare
etag
W/"4115-tu7B0wzxCU8J47ffDEu8jr25gi0"
vary
Accept-Encoding
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=zY11kJvMfPI46z0krKC6SRxNDIW1ipTZMOLJU5145A8GVHDQz5TyXMVDNjBHZZVGmbRIbuARrGMeKLymmyXlhyOGEE8KXEwz6KWGUC7FoYIGyz53FerBGoEx9GEeFbOKPlz9GoLBE0Yug0XgelLsOChKz0iTG3YfFOkedQ%3D%3D"}],"group":"cf-nel","max_age":604800}
content-type
application/javascript; charset=utf-8
access-control-allow-origin
*
access-control-expose-headers
*
cache-control
public, max-age=31536000, s-maxage=31536000, immutable
cf-ray
8365ce62a9fca06c-SIN
timing-allow-origin
*
package.json
cdn.observableusercontent.com/npm/d3@6/ Frame C28A
2 KB
2 KB
Fetch
General
Full URL
https://cdn.observableusercontent.com/npm/d3@6/package.json
Requested by
Host: static.observableusercontent.com
URL: https://static.observableusercontent.com/next/worker-7dc963d7.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
007b19eb3f3f55c6a4f972e5a1872a28cdfba2cbf49de71210c9778cda641dcf
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://d3.static.observableusercontent.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
x-content-type-options
nosniff
cf-cache-status
DYNAMIC
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
age
21989
x-jsd-version
6.7.0
content-encoding
br
x-cache
HIT, HIT
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=86400
x-served-by
cache-fra-etou8220033-FRA, cache-qpg1277-QPG
x-jsd-version-type
version
server
cloudflare
etag
W/"868-rwhbR1VzpWoVYqetuGQcR0pkZcU"
vary
Accept-Encoding
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=nuhc5v9BVbER7oqovL46m4eA7OAmdw8sYqtEsgUqWj0aIpiEdGQIR9MYCa8%2BrXMKd2b82qcLiTevpYpCLKi8VkM14b7GnR%2B7W11RbHGbaOs5hW7ZE47YLoP%2F15VrzRYoC2lQ3GNThMenpYC8vCuja6iPWk3HsLZ8K2qi2w%3D%3D"}],"group":"cf-nel","max_age":604800}
content-type
application/json; charset=utf-8
access-control-allow-origin
*
access-control-expose-headers
*
cache-control
public, max-age=604800, s-maxage=43200
cf-ray
8365ce62bd58448a-SIN
timing-allow-origin
*
neIXzD-0qpwxpaWvjeD0X88SAOeasc8btSyqxA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/ Frame C28A
21 KB
21 KB
Font
General
Full URL
https://fonts.gstatic.com/s/sourceserifpro/v17/neIXzD-0qpwxpaWvjeD0X88SAOeasc8btSyqxA.woff2
Requested by
Host: fonts.googleapis.com
URL: https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c00::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
190c3fdc18618a4473729faa65a7dfd810fef1d70ce2c3fe71cb1ed843cf08cb
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://fonts.googleapis.com/
Origin
https://d3.static.observableusercontent.com
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Fri, 15 Dec 2023 17:31:30 GMT
x-content-type-options
nosniff
age
56472
content-security-policy-report-only
require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
21432
x-xss-protection
0
last-modified
Thu, 01 Jun 2023 23:32:52 GMT
server
sffe
cross-origin-opener-policy
same-origin; report-to="apps-themes"
report-to
{"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Sat, 14 Dec 2024 17:31:30 GMT
neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/ Frame C28A
20 KB
20 KB
Font
General
Full URL
https://fonts.gstatic.com/s/sourceserifpro/v17/neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oA.woff2
Requested by
Host: fonts.googleapis.com
URL: https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c00::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
7d04f2cd8792432943d7c73c9b2173b3faee45ecd9334ad6a9812729b88aa69a
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://fonts.googleapis.com/
Origin
https://d3.static.observableusercontent.com
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 08:09:58 GMT
x-content-type-options
nosniff
age
3764
content-security-policy-report-only
require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
20528
x-xss-protection
0
last-modified
Thu, 01 Jun 2023 23:17:09 GMT
server
sffe
cross-origin-opener-policy
same-origin; report-to="apps-themes"
report-to
{"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
content-type
font/woff2
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Sun, 15 Dec 2024 08:09:58 GMT
d3.min.js
cdn.observableusercontent.com/npm/d3@6.7.0/dist/ Frame C28A
264 KB
91 KB
Script
General
Full URL
https://cdn.observableusercontent.com/npm/d3@6.7.0/dist/d3.min.js
Requested by
Host: static.observableusercontent.com
URL: https://static.observableusercontent.com/next/worker-7dc963d7.js
Protocol
H3
Security
QUIC, , AES_128_GCM
Server
2606:4700:3037::ac43:b097 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
fbb8da602a76f4ed49bac3561da62d8149fa121b8fd15685bacc21355d3a3322
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://d3.static.observableusercontent.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

date
Sat, 16 Dec 2023 09:12:42 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
x-content-type-options
nosniff
cf-cache-status
HIT
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
age
1138548
x-jsd-version
6.7.0
content-encoding
br
x-cache
HIT, HIT
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=86400
x-served-by
cache-fra-eddf8230072-FRA, cache-qpg1282-QPG
x-jsd-version-type
version
server
cloudflare
etag
W/"4215f-U/7KhTbFuL14y5OuO5w6JACRmfY"
vary
Accept-Encoding
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=fO4iEPJEs3HG5hh8RNByiFrxlQqCTbASE6xKQai7Fyz0LbP1ZZjquqBd7Tp%2BeXvp6rNnGo8Wg6REjFn2sAlwaAxKNJcnrg2Q0r913s5LniNnkbWtk4mMF4lZ0ElkBD4r1Zz1LLcHpfnkvZ%2FhGVEKqnIviylYYuUtKVI9WQ%3D%3D"}],"group":"cf-nel","max_age":604800}
content-type
application/javascript; charset=utf-8
access-control-allow-origin
*
access-control-expose-headers
*
cache-control
public, max-age=31536000, s-maxage=31536000, immutable
cf-ray
8365ce63d8185fa8-SIN
timing-allow-origin
*
beacon-events
events.observablehq.com/
0
679 B
Ping
General
Full URL
https://events.observablehq.com/beacon-events
Requested by
Host: observablehq.com
URL: https://observablehq.com/_next/static/chunks/pages/_app-8703b0ddd9d4dfac.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:15dc , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare / Express
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Content-Security-Policy default-src 'none'
Strict-Transport-Security max-age=86400; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Frame-Options deny

Request headers

Referer
https://observablehq.com/
accept-language
zh-SG,zh;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

date
Sat, 16 Dec 2023 09:12:43 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
nel
{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
cf-cache-status
DYNAMIC
via
1.1 vegur
x-powered-by
Express
content-length
0
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702717963&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=A2VRRttK3QdqwdE7%2F1QkOJgDjOl2xy5x04DeJ47u1tY%3D
server
cloudflare
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702717963&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=A2VRRttK3QdqwdE7%2F1QkOJgDjOl2xy5x04DeJ47u1tY%3D"}]}
access-control-allow-origin
https://observablehq.com
vary
Origin
access-control-allow-credentials
true
cf-ray
8365ce644a7840b0-SIN
access-control-allow-headers
Authorization, Content-Type
collect
www.google-analytics.com/g/
0
54 B
Ping
General
Full URL
https://www.google-analytics.com/g/collect?v=2&tid=G-9B88TP6PKQ&gtm=45je3bt0v9106904790&_p=1702717961216&gcd=11l1l1l1l1&dma=0&cid=1899327056.1702717962&ul=en-us&_geo=1&_rdi=1&_s=2&dl=%2F%40d3%2Fdrag-zoom&sid=1702717961&sct=1&seg=1&dt=Drag%20%26%20Zoom%20%2F%20D3%20%7C%20Observable&en=page_view&_ee=1&_et=210&tfd=6936
Requested by
Host: www.googletagmanager.com
URL: https://www.googletagmanager.com/gtag/js?id=G-9B88TP6PKQ
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c1a::8b Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

accept-language
zh-SG,zh;q=0.9
Referer
https://observablehq.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.109 Safari/537.36

Response headers

pragma
no-cache
date
Sat, 16 Dec 2023 09:12:46 GMT
server
Golfe2
content-type
text/plain
access-control-allow-origin
https://observablehq.com
cache-control
no-cache, no-store, must-revalidate
access-control-allow-credentials
true
cross-origin-resource-policy
cross-origin
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
content-length
0
expires
Fri, 01 Jan 1990 00:00:00 GMT

Verdicts & Comments Add Verdict or Comment

25 JavaScript Global Variables

These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.

object| 0 object| documentPictureInPicture function| gtag object| dataLayer object| google_tag_manager object| google_tag_data object| webpackChunk_N_E function| __next_set_public_path__ object| next object| __NEXT_DATA__ function| __SSG_MANIFEST_CB object| __NEXT_P object| _N_E function| onYouTubeIframeAPIReady object| gaGlobal object| __SENTRY__ undefined| __sentryRewritesTunnelPath__ object| SENTRY_RELEASE undefined| __sentryBasePath string| __rewriteFramesAssetPrefixPath__ function| __NEXT_PRELOADREADY object| __MIDDLEWARE_MATCHERS object| __BUILD_MANIFEST object| __SSG_MANIFEST boolean| __REACH_DISABLE_TOOLTIPS

3 Cookies

Domain/Path Name / Value
.observablehq.com/ Name: _ga
Value: GA1.1.1899327056.1702717962
.observablehq.com/ Name: _ga_9B88TP6PKQ
Value: GS1.1.1702717961.1.1.1702717961.0.0.0
.observablehq.com/ Name: D
Value: 90ab44b3-ed45-4ff9-aac5-b795ed260024|1734253963566

1 Console Messages

Source Level URL
Text
other warning URL: https://observablehq.com/_next/static/chunks/629-c78854374fee6392.js
Message:
Unrecognized feature: 'vr'.

Security Headers

This page lists any security headers set by the main page. If you want to understand what these mean and how to use them, head on over to this page

Header Value
Content-Security-Policy default-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com https://observablehq.com https://*.static.observableusercontent.com; connect-src 'self' https://api.observablehq.com https://events.observablehq.com https://static.observablehq.com wss://ws.observablehq.com https://connector.observableusercontent.com https://js.stripe.com https://*.ingest.sentry.io https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://stats.g.doubleclick.net/j/collect https://www.googleapis.com https://*.googletagmanager.com https://graph.microsoft.com https://*.clarity.ms https://api.openai.com https://*.contentful.com https://*.braze.com https://*.ads.linkedin.com https://cdn.linkedin.oribi.io; font-src https://fonts.gstatic.com; frame-ancestors 'none'; frame-src https://observablehq.com https://observablehq.com/embed/ https://*.static.observableusercontent.com https://js.stripe.com https://www.youtube.com/embed/ https://docs.google.com data: blob:; img-src https://api.observablehq.com https://*.static.observableusercontent.com https://static.observablehq.com https://observablehq.com https://*.githubusercontent.com https://*.stripe.com https://avatars.observableusercontent.com https://*.google-analytics.com https://www.google.com/ads/ga-audiences https://*.googletagmanager.com https://*.ads.linkedin.com https://*.clarity.ms https://*.bing.com static.observableusercontent.com https://images.ctfassets.net https://*.amazonaws.com data: blob:; manifest-src 'none'; media-src https://static.observablehq.com https://videos.ctfassets.net; object-src 'none'; script-src 'self' 'sha256-ERfeEwC9NC9b9t4L2Qp3/yGGgUmFfGH8pIR8kI04FUM=' 'sha256-UJ7XRVoD2oZRK3RRMLdPrdHA+LguX3UEXAZ6hVbuYIk=' 'sha256-E8fjaxUWJTzw+p0U0obCJnciUlgSrzubZcmiKi7SR6c=' https://static.observablehq.com https://www.googleapis.com https://apis.google.com https://*.googletagmanager.com https://js.stripe.com https://*.clarity.ms https://snap.licdn.com; style-src https://static.observablehq.com https://observablehq.com https://fonts.googleapis.com 'unsafe-inline'; worker-src https://observablehq.com
Strict-Transport-Security max-age=86400; includeSubDomains

Indicators

This is a term in the security industry to describe indicators such as IPs, Domains, Hashes, etc. This does not imply that any of these indicate malicious activity.

api.observablehq.com
avatars.observableusercontent.com
cdn.observableusercontent.com
d3.static.observableusercontent.com
events.observablehq.com
fonts.googleapis.com
fonts.gstatic.com
o299802.ingest.sentry.io
observablehq.com
static.observableusercontent.com
www.google-analytics.com
www.googletagmanager.com
2404:6800:4003:c00::5e
2404:6800:4003:c00::61
2404:6800:4003:c1a::8b
2404:6800:4003:c1c::5f
2600:9000:223b:ce00:1c:df24:ee80:93a1
2606:4700:10::6816:15dc
2606:4700:3037::6815:5381
2606:4700:3037::ac43:b097
34.120.195.249
007b19eb3f3f55c6a4f972e5a1872a28cdfba2cbf49de71210c9778cda641dcf
0666249382568b378953a787041a77640bed96a6eb35c4e65663913d628c099c
10721072fa640a140e6ac0d64c00e52ce5bc96c15ff419273eab058bee1f4720
166ac7c7df69640272ca952a247d37b642225193f8f351a4740beaae1da05527
190c3fdc18618a4473729faa65a7dfd810fef1d70ce2c3fe71cb1ed843cf08cb
1c5840a2b21578eb04438de328d08e43a8843105e2497a9929c29dd7dbca0030
1c950e2053e64c7797151b6d34c215383c79d6dd98397d2fa79b5b20236527a9
1dc920f9690b71c78c576759ce75617daac485594faba0b1c9f28ef751858b7c
232cdb2809ef432790a48da78b406ce4da83f46f1190ae25ac5c41ebccf796bc
23a32a0f7aca3db09082f90c9a4aca83ea085a7231d923eb9ea0237e2f3daaf7
27d33c5a644755b77d80e9f4fc45326040ab97355292971cc5422bca2664caaa
296d705c888a95d10a01729a889a28aea6c0d4ec78ddd3ef1961c5d4b9e339cf
2d8a3c8bb567a1f9c14c020f6a612f6ca2febda040394bbdc258d31c18c398c8
366d8f3780d5751df4c305e7c72a955e8bdd8cac444d41dfaa45c1f997ed59ef
3b5c9bf435929078ee8f9d9d2859d98574bb32a16f7fbf469eeb83cd791473fa
3c2b42bd1e9526c6e334236e0cd4e9ffb33288b9df07428e83f677c7ed5a84c0
3e4b52f797bedc9bc0f2399588379c714363ef6a2fec96dd47b41bfd38a225c1
3ed914c02b7e9bcc3190e4d4ba2cc3245c01d90f91f4cf2891298e84843124e6
44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
4918c1a1e2668e4509854a6763c765ce85a3cfd89bf16e9276d46ccad7842a15
4bd9898c1440309b272c841a6643599016ab54fb6babb8f42e05d5bf54591937
4ca13d2dd1c7c93d5ac4eae6cef0f9ea9fd9ef62f775681db82f032a21b03016
55242b8c0e3d215653b7002af55590434392337fcdfa6764681b32763d56c544
68d9eb6aefb519749c74c97c8b3271a6cb7279ea5f790803885d2a45eefb2269
6e788865f2c57a22e434d28506a820c9aa1c9f29d3832ad19d22d6316f5ea2de
74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b
770f4379a6864ee9d2e7ce78809068b201724067f3b6ebd1863f202a57521e30
78df1ed9d75145ced81e393d9b9b091eb6a72e860139b822b1f4e094534ce706
790818b959bb2b0488a02e32c6c72368ac678f67a9c4dc0fa82a3b64443f6629
7b09f6ad5ebd0327100676dd6368fbe7d2df2033f69a91e5c4bc0c3a41e12795
7d04f2cd8792432943d7c73c9b2173b3faee45ecd9334ad6a9812729b88aa69a
7f8fc3b97baa9f2659f648398d8e60f5800e4991550c3db4eaac38a2efc4eca2
7fc80bb82fc5d7bdd213a27f7a382e7fd36463178193a4c067d838dc632e1fa0
812a66d1512ed555b45374bf11b0c66c952a3c9a8a670642cdf96de272a2236a
837031f3fcdb42067a156e56dc50166ec2d8d5a1531ff22726abb7a4a2876fa7
84ffe7c3ce65411595091438df136efcd6cf3dc9376034ac1061df2f0f137c89
86eeab587fafdcf38f98064b6766481181022fa7771fb344ae5954a211bd33b2
880ebf28d20fe5f2c60c342ab5e80b63dee9630ce74616ebe62c402d35c13162
8882201fa05f1564f634ad890f52043c981af2a6a068287c5355521b03146d82
8c9f6fa10ce383fb362ddf10d0bf0e0e72958ab4fbbe2bf5985d2b16dedc6b51
8d16f55440b76ab80eb27c65b32f600b7f5880409040404721eac793c125bf02
8e7b1adef31b67da5ecae5e37ff132f95055029c6c636e7d1e94abd72541004c
8f55ad833687de686c43e2550c2b860f3254b9262e0e493fe90778302b04e0a1
91799a80404a385ce0f768d6d822b7a8e04768971c91442a6e5b365b13d2208c
93981ede35d910bc63dee4c3d12ba95597978159c80c044cb68c1ad0aba44b32
998fb00506d5dc11e8ddb41bfeaa535a0cccfa46f31480c2c6318e0fc89c1cd8
9ae0099026a800a0e7b45f78e9daad7fe630adf2b13746b0fb55b81e1cb78503
9fb3f991f6a30b078eb370373419382b20a377611411d28c7cea6c3c76b56090
a6541c32b41c77b689c97034e592a9206825a75a47b1c82468f4673d10546008
acf8fe7e8e18357a39f0af5a920198cd0f6c86af01f744a74168f93fd69358b8
afcf3654e08408d082abd771d49182b43273d311ff1d284e7491f51ac315a2ed
ba48466aed6ed4d78eda56878bac7fc3b4787e700d781a779f72cefbbbddedab
c177d04e761a1ee16e8dd80ec2e708e290719cba61bfc06d9508c70a8ca5e511
c2e95c6c2b4ab4ef56f522678ab5a1d794ddecaac06b3dbe25a76233e7d9189f
c754675c4d1df17d7082b421403cf12785d86760a9b4dc7830a789533426a9d6
c759aa22e59d62edbd9e68db202982b5b3d1b8e3422a6a4ae3597f7a15b88a60
c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3
ca213cac02387e1cc4652599d27727c56f51de717d05cb2445c7fb7b22f6fcc5
ca9143a0fbfaf1cf8c690013187d88657ec6f13ea86aa1404c28427dfa6869f6
cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a
cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3
cc308be27791dc58e7ce19f0d245ef66b8eb6975b8c7ae22d97c09927c84dc48
cd93e0ea066c5391ff7e0377dda6fd4789b46604a4a2abb105e9dda711660cdc
d2203132027d40d044bd287b7be1bdb02b84c9e50e4b036f0fb3529b3ac8756a
d7e346556256b98c593c64bfc63a378bcc8a09e74792a4c89eeac19efc741739
da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a
da92fe484cb41430af9f6f614c83231ee661c2ac5fafd537aedb530c4e050cdc
dbcc041391c98cb6014a6d394adb6a4fb09c226c05ec512d31f3a026c5d98c44
e3616406fbcbacc7bee5f9fa071fef36d5f6c68628c3508bb5a845420c9bcb59
e3851a51d8008cbbef2c3ddb1775c29424893b218cee709af2f1936370889895
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
e503ce1761da36c0d75049ace6c0d1b7508b5e38286f7a1bbcee9c4aea97a6c7
ea4ebfc541278246e0d1e2bb47a7f9b068abbe4f8540c79d1b7d38fb3e5101b0
f0c35de298ddd804dd04882a79f3397da84829d9c8c1d6d301e153c4147f5dd4
f45d59e34017878addf027bca954183479512142121eee8b4c54b75757c006f5
f50e938409c37d203e95991af039b9eeb3a27598b0eeb7d098ddd3287a83657c
f8fb7bcc88cb9cb356c05ee8993db9cc21372b55bc0dccf5babce11228aa0eec
fb396bdc7fd07201ced045f8b489eac118f267d1194d55dfb97189685a16c82b
fbb8da602a76f4ed49bac3561da62d8149fa121b8fd15685bacc21355d3a3322