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 93 HTTP transactions. The main IP is 104.22.20.220, located in 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 104.22.20.220 13335 (CLOUDFLAR...)
1 74.125.200.97 15169 (GOOGLE)
14 172.67.176.151 13335 (CLOUDFLAR...)
2 172.253.118.95 15169 (GOOGLE)
5 64.233.170.94 15169 (GOOGLE)
1 34.120.195.249 396982 (GOOGLE-CL...)
1 64.233.170.102 15169 (GOOGLE)
1 104.21.83.129 13335 (CLOUDFLAR...)
10 13.33.88.56 16509 (AMAZON-02)
93 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 googleapis.com
fonts.googleapis.com — Cisco Umbrella Rank: 29
2 KB
1 google-analytics.com
www.google-analytics.com — Cisco Umbrella Rank: 27
246 B
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
93 7
Domain Requested by
55 observablehq.com observablehq.com
11 avatars.observableusercontent.com observablehq.com
10 static.observableusercontent.com observablehq.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 fonts.googleapis.com observablehq.com
static.observableusercontent.com
1 events.observablehq.com observablehq.com
1 d3.static.observableusercontent.com observablehq.com
1 www.google-analytics.com www.googletagmanager.com
1 o299802.ingest.sentry.io observablehq.com
1 www.googletagmanager.com observablehq.com
93 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: F653ABC323EB11E23C33B92AF7B9CA6D
Requests: 84 HTTP requests in this frame

Frame: https://d3.static.observableusercontent.com/next/worker-98dce999.html
Frame ID: 86778C7398BD63ECB72EB0CFE26BE51A
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

93
Requests

100 %
HTTPS

0 %
IPv6

7
Domains

12
Subdomains

9
IPs

2
Countries

3546 kB
Transfer

14244 kB
Size

3
Cookies

Redirected requests

There were HTTP redirect chains for the following requests:

93 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
104.22.20.220 -, , ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare / Next.js
Resource Hash
8e806d8d4fbe27435631f1f4b9a54d07579d1e5bc5e813d50f6e8f064b00e4c6
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
8365aa9bec4518ce-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 08:48:18 GMT
etag
"k0wjpwz2kl1lfx"
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=1702716497&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=0yLCuoq96EFZ8EKbKiI8LeXt9%2BYHAyQHhoVkWdy8%2FfI%3D"}]}
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702716497&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=0yLCuoq96EFZ8EKbKiI8LeXt9%2BYHAyQHhoVkWdy8%2FfI%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
74.125.200.97 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sa-in-f97.1e100.net
Software
Google Tag Manager /
Resource Hash
e57d0e0b4a0b4fd38c7918e46eb86abc019c4ff0a3b0bb6151c7e2a55a89bcb0
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 08:48:19 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
91938
x-xss-protection
0
alt-svc
h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
expires
Sat, 16 Dec 2023 08:48:19 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
104.22.20.220 -, , 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 08:48:18 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
718791
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701997707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=U6rHfsGEP0BibIkQ3BPD3lQcb65FanypwnYh9jPTYNg%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=1701997707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=U6rHfsGEP0BibIkQ3BPD3lQcb65FanypwnYh9jPTYNg%3D"}]}
content-type
text/css; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa399b618ce-SIN
webpack-ee007158963ba5b2.js
observablehq.com/_next/static/chunks/
5 KB
2 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
104.22.20.220 -, , 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 08:48:18 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
718791
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701997707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=U6rHfsGEP0BibIkQ3BPD3lQcb65FanypwnYh9jPTYNg%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=1701997707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=U6rHfsGEP0BibIkQ3BPD3lQcb65FanypwnYh9jPTYNg%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d018ce-SIN
framework-ca706bf673a13738.js
observablehq.com/_next/static/chunks/
138 KB
46 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
104.22.20.220 -, , 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://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 08:48:18 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
2944200
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699772298&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Xua3xz0a6GSIYbHvdk5phXQ7s%2BH9RNovfz%2BumWp%2Bvgg%3D
last-modified
Fri, 10 Nov 2023 00:10:49 GMT
server
cloudflare
etag
W/"2270e-18bb6912b28"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699772298&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Xua3xz0a6GSIYbHvdk5phXQ7s%2BH9RNovfz%2BumWp%2Bvgg%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d218ce-SIN
main-02f5b46bdaeef216.js
observablehq.com/_next/static/chunks/
139 KB
36 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
104.22.20.220 -, , 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 08:48:18 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
219657
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702496841&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=1hHbPQI7%2BVi3PW43ogNXCwOy9zt1dyDd4UzbWvW3DYU%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=1702496841&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=1hHbPQI7%2BVi3PW43ogNXCwOy9zt1dyDd4UzbWvW3DYU%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d318ce-SIN
_app-8703b0ddd9d4dfac.js
observablehq.com/_next/static/chunks/pages/
1 MB
479 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
104.22.20.220 -, , 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 08:48:18 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
42411
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674087&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=NSNuFNOfEndI9M3Ci17rUlGPSakObYXmSofGbZuDysI%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=1702674087&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=NSNuFNOfEndI9M3Ci17rUlGPSakObYXmSofGbZuDysI%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d418ce-SIN
fec483df-ed779ce1028b7b0c.js
observablehq.com/_next/static/chunks/
328 KB
102 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
104.22.20.220 -, , 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 08:48:18 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
3222934
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699493564&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=IYlnmZqisgPxcn4F9CAZ22fPBaET8BF7nqigM6JUD%2FM%3D
last-modified
Wed, 08 Nov 2023 15:09:10 GMT
server
cloudflare
etag
W/"521ba-18baf7ae9f0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699493564&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=IYlnmZqisgPxcn4F9CAZ22fPBaET8BF7nqigM6JUD%2FM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d618ce-SIN
8764-ce4257ea01b78660.js
observablehq.com/_next/static/chunks/
23 KB
7 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
104.22.20.220 -, , 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://*.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 08:48:18 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
1240395
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701476103&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=FqIkBem4pcHbHz9KU2Zwx6hPfYqHqMGYp0laAXv%2BxG4%3D
last-modified
Fri, 01 Dec 2023 23:52:08 GMT
server
cloudflare
etag
W/"5cec-18c27cbf840"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701476103&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=FqIkBem4pcHbHz9KU2Zwx6hPfYqHqMGYp0laAXv%2BxG4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d818ce-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
104.22.20.220 -, , 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 08:48:18 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
116968
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702599530&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7IGLKUxx4n87GMvbIFeg7tUG%2B6S49Qhhy1JsLXYJEmI%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=1702599530&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=7IGLKUxx4n87GMvbIFeg7tUG%2B6S49Qhhy1JsLXYJEmI%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9d918ce-SIN
637-0038bbd28e1876ec.js
observablehq.com/_next/static/chunks/
900 KB
287 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
104.22.20.220 -, , 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 08:48:18 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
42411
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702674087&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=NSNuFNOfEndI9M3Ci17rUlGPSakObYXmSofGbZuDysI%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=1702674087&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=NSNuFNOfEndI9M3Ci17rUlGPSakObYXmSofGbZuDysI%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9db18ce-SIN
8252-dd51fc84fd5c2b1f.js
observablehq.com/_next/static/chunks/
26 KB
12 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
104.22.20.220 -, , 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 08:48:18 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
724918
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701991580&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=g7t7OTJZeer061VZ1OB%2FLzMc3SmAVKx2Ld963cUdCCg%3D
last-modified
Thu, 07 Dec 2023 23:14:52 GMT
server
cloudflare
etag
W/"67ed-18c469001e0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701991580&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=g7t7OTJZeer061VZ1OB%2FLzMc3SmAVKx2Ld963cUdCCg%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9dd18ce-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
104.22.20.220 -, , 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 08:48:18 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
724918
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701991580&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=g7t7OTJZeer061VZ1OB%2FLzMc3SmAVKx2Ld963cUdCCg%3D
last-modified
Thu, 07 Dec 2023 23:14:52 GMT
server
cloudflare
etag
W/"349b-18c469001e0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701991580&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=g7t7OTJZeer061VZ1OB%2FLzMc3SmAVKx2Ld963cUdCCg%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9df18ce-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
104.22.20.220 -, , 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 08:48:18 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
29331
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9e118ce-SIN
9676-a41451d2fd3611f3.js
observablehq.com/_next/static/chunks/
58 KB
18 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
104.22.20.220 -, , 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 08:48:18 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
724016
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701992482&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=9iCMY6xX2rnh9kOPx5in%2FOum9rV4lau6pZzX9fbtFs0%3D
last-modified
Thu, 07 Dec 2023 23:14:52 GMT
server
cloudflare
etag
W/"e98d-18c469001e0"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1701992482&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=9iCMY6xX2rnh9kOPx5in%2FOum9rV4lau6pZzX9fbtFs0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9e318ce-SIN
2911-65d09b2db05a5492.js
observablehq.com/_next/static/chunks/
26 KB
11 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
104.22.20.220 -, , 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 08:48:18 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
279791
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702436707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=13jd5ICsWOVQkIH%2BCFq1hC47diQqs1vEH5JPed9CZ6s%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=1702436707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=13jd5ICsWOVQkIH%2BCFq1hC47diQqs1vEH5JPed9CZ6s%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9e518ce-SIN
6132-721bb0f859915af7.js
observablehq.com/_next/static/chunks/
7 KB
5 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
104.22.20.220 -, , 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://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 08:48:18 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
2655356
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1700061142&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=gGufWoU7ajpDMiTgxw0AWtef3aFqRfJa2%2FUGG%2BzUV1U%3D
last-modified
Wed, 15 Nov 2023 15:05:15 GMT
server
cloudflare
etag
W/"1a1c-18bd383d7f8"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1700061142&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=gGufWoU7ajpDMiTgxw0AWtef3aFqRfJa2%2FUGG%2BzUV1U%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9e718ce-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
104.22.20.220 -, , 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 08:48:18 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
232624
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702483874&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=eGEYslM1mWqLnOg5QtRlaRgUESMgbgF15NVZFLk3rY4%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=1702483874&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=eGEYslM1mWqLnOg5QtRlaRgUESMgbgF15NVZFLk3rY4%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9e918ce-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
104.22.20.220 -, , 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 08:48:18 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
29331
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9eb18ce-SIN
2015-a6bbe3592118fad3.js
observablehq.com/_next/static/chunks/
46 KB
15 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
104.22.20.220 -, , 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 08:48:18 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
34579
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702681919&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=XlfQzTlLchZAcvpTaBO%2FPQtMq4zjqUIjfW7AvCVN8I0%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=1702681919&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=XlfQzTlLchZAcvpTaBO%2FPQtMq4zjqUIjfW7AvCVN8I0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9ed18ce-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
104.22.20.220 -, , 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://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 08:48:18 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
2968504
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699747994&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=kBUokaZxw5cvGX0DX5W4ZWr9vWMdIadm5j0Kk0uyA1I%3D
last-modified
Fri, 10 Nov 2023 00:10:49 GMT
server
cloudflare
etag
W/"105a9-18bb6912b28"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699747994&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=kBUokaZxw5cvGX0DX5W4ZWr9vWMdIadm5j0Kk0uyA1I%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9ee18ce-SIN
5237-ff93ce30aaf592f6.js
observablehq.com/_next/static/chunks/
33 KB
12 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
104.22.20.220 -, , 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 08:48:18 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
29331
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9f018ce-SIN
4580-0b7c2be1736841ae.js
observablehq.com/_next/static/chunks/
98 KB
32 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
104.22.20.220 -, , 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 08:48:18 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
55517
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702660981&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=ZyGaA17t8nEbvnVN5d8yFcxQMhvMrkyNIuS3IPiNNI0%3D
last-modified
Fri, 15 Dec 2023 17:15:09 GMT
server
cloudflare
etag
W/"18746-18c6e798d48"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702660981&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=ZyGaA17t8nEbvnVN5d8yFcxQMhvMrkyNIuS3IPiNNI0%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9f318ce-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
104.22.20.220 -, , 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://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 08:48:18 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
2535949
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1700180549&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=TxgZJv56m%2BwMaHNqx%2FWu96jedajrNGwRiNePTY0RRTs%3D
last-modified
Wed, 15 Nov 2023 19:08:25 GMT
server
cloudflare
etag
W/"4fb6-18bd4627828"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1700180549&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=TxgZJv56m%2BwMaHNqx%2FWu96jedajrNGwRiNePTY0RRTs%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9f618ce-SIN
2782-fb332bf912721df6.js
observablehq.com/_next/static/chunks/
13 KB
6 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
104.22.20.220 -, , 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 08:48:18 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
923808
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701792690&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=NomFj2shqTpomVwbclgStkil40LEFjieEuq5P6tHkcg%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=1701792690&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=NomFj2shqTpomVwbclgStkil40LEFjieEuq5P6tHkcg%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9f718ce-SIN
629-c78854374fee6392.js
observablehq.com/_next/static/chunks/
292 KB
82 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
104.22.20.220 -, , 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 08:48:18 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
113618
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702602880&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=MQjhvqKmOjR9AEG5B0PiYEHgZagiZoR%2FvpxUyxFFjmQ%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=1702602880&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=MQjhvqKmOjR9AEG5B0PiYEHgZagiZoR%2FvpxUyxFFjmQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9f918ce-SIN
8609-13430b3ab985d6a2.js
observablehq.com/_next/static/chunks/
10 KB
6 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
104.22.20.220 -, , 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 08:48:18 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
718791
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701997707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=U6rHfsGEP0BibIkQ3BPD3lQcb65FanypwnYh9jPTYNg%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=1701997707&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=U6rHfsGEP0BibIkQ3BPD3lQcb65FanypwnYh9jPTYNg%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9fb18ce-SIN
9391-3e6670936955dd34.js
observablehq.com/_next/static/chunks/
69 KB
24 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
104.22.20.220 -, , 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 08:48:18 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
279790
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702436708&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pO5nvDniuYgr0clOA8dD6QLIqGVGM4OFMAWG3ZUANBo%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=1702436708&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pO5nvDniuYgr0clOA8dD6QLIqGVGM4OFMAWG3ZUANBo%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9fd18ce-SIN
1602-fa59185a704747da.js
observablehq.com/_next/static/chunks/
36 KB
12 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
104.22.20.220 -, , 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 08:48:18 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
113618
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702602880&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=MQjhvqKmOjR9AEG5B0PiYEHgZagiZoR%2FvpxUyxFFjmQ%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=1702602880&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=MQjhvqKmOjR9AEG5B0PiYEHgZagiZoR%2FvpxUyxFFjmQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3b9ff18ce-SIN
%5B...specifiers%5D-5f67f4938862f9bd.js
observablehq.com/_next/static/chunks/pages/%5Bat%5D/
66 KB
19 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
104.22.20.220 -, , 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 08:48:18 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
29329
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687169&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=3AVkWfw6%2BsaiSKny1c1SwnCRWZsN3SGjs2DLUC7%2FQnk%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=1702687169&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=3AVkWfw6%2BsaiSKny1c1SwnCRWZsN3SGjs2DLUC7%2FQnk%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3ca0518ce-SIN
_buildManifest.js
observablehq.com/_next/static/XKMsWK-BMKPYHP6YfjEBD/
11 KB
3 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
104.22.20.220 -, , 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 08:48:18 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
29331
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3ca0718ce-SIN
_ssgManifest.js
observablehq.com/_next/static/XKMsWK-BMKPYHP6YfjEBD/
423 B
638 B
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
104.22.20.220 -, , 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 08:48:18 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
29331
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa3ca0a18ce-SIN
5af16e327a90b2873351dda8a596c0d2d3bf954f64523deefe80177c9764d0f7
avatars.observableusercontent.com/avatar/
903 B
1 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
172.67.176.151 , 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 08:48:19 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
2001973
alt-svc
h3=":443"; ma=86400
content-length
903
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1700714526&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Qojg0lSJOVu9XBkMZHSN8KRtf9hQqrKgZSbnOkKPaxY%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=1700714526&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Qojg0lSJOVu9XBkMZHSN8KRtf9hQqrKgZSbnOkKPaxY%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaa81b845f52-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
172.67.176.151 , 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 08:48:19 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
via
1.1 vegur
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
cf-cache-status
HIT
age
2953959
alt-svc
h3=":443"; ma=86400
server
cloudflare
etag
W/"4da-N3xkRauhIu2kDAGdQwBWAFJrKS8"
x-frame-options
deny
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=TqVqk6k3pGyVLEQPR05ab0Xd2A5nvZPsLdiiABE3aBeqz4KrobHKHgdIhRLSAEX9uMsWbmSYUpcAuh5Tm1vz2QYvxztmBkJjtOaAtVA18keTztxwl95mD3GHinKkLshq8Y2srCPSYBSzqrz62TtWgMqv27g%3D"}],"group":"cf-nel","max_age":604800}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaa81b865f52-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
172.253.118.95 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sl-in-f95.1e100.net
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 08:48:19 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:27:13 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 08:48:19 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
64.233.170.94 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sg-in-f94.1e100.net
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
Sat, 16 Dec 2023 00:18:11 GMT
x-content-type-options
nosniff
age
30609
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
Sun, 15 Dec 2024 00:18:11 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
64.233.170.94 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sg-in-f94.1e100.net
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
Sat, 16 Dec 2023 00:30:50 GMT
x-content-type-options
nosniff
age
29850
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
Sun, 15 Dec 2024 00:30:50 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
64.233.170.94 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sg-in-f94.1e100.net
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 00:30:49 GMT
x-content-type-options
nosniff
age
29851
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 00:30:49 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 08:48:19 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
featured-creators
api.observablehq.com/collection/@observablehq/
394 KB
63 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
104.22.20.220 -, , 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 08:48:19 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
57947
via
1.1 vegur
content-length
63292
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702658551&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=EVrCyUYEBUFlU8Gsgb1ictYu23gk69Zfh30V6oVoGKY%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=1702658551&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=EVrCyUYEBUFlU8Gsgb1ictYu23gk69Zfh30V6oVoGKY%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
8365aaab9fe618ce-SIN
access-control-allow-headers
Authorization, Content-Type
user
api.observablehq.com/
4 B
752 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
104.22.20.220 -, , 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 08:48:20 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=1702716500&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=%2BYzTi4nnRb3LH6wbvDXaiLUB7O8DGe00q6pvDOy3ztI%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=1702716500&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=%2BYzTi4nnRb3LH6wbvDXaiLUB7O8DGe00q6pvDOy3ztI%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
8365aaabc83b18ce-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
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
104.22.20.220 -, , 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 08:48:19 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
2787427
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699929072&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=wVrL4yD5F5QdjF0f8uW%2Bwo76QWK15n6jYtd%2FRcezW1Q%3D
last-modified
Tue, 14 Nov 2023 01:15:42 GMT
server
cloudflare
etag
W/"7641cc-18bcb660230"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1699929072&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=wVrL4yD5F5QdjF0f8uW%2Bwo76QWK15n6jYtd%2FRcezW1Q%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaabc83c18ce-SIN
collect
www.google-analytics.com/g/
0
246 B
Ping
General
Full URL
https://www.google-analytics.com/g/collect?v=2&tid=G-9B88TP6PKQ&gtm=45je3bt0v9106904790&_p=1702716498456&gcd=11l1l1l1l1&dma=0&cid=1207134869.1702716500&ul=en-us&_geo=1&_rdi=1&_s=1&dl=%2F%40d3%2Fdrag-zoom&sid=1702716499&sct=1&seg=0&dt=Drag%20%26%20Zoom%20%2F%20D3%20%7C%20Observable&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=3233
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
64.233.170.102 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sg-in-f102.1e100.net
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 08:48:20 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
worker-98dce999.html
d3.static.observableusercontent.com/next/ Frame 8677
282 B
829 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
104.21.83.129 -, , 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
117790
alt-svc
h3=":443"; ma=86400
cache-control
public, max-age=31536000, immutable
cf-cache-status
DYNAMIC
cf-ray
8365aab018c63fda-SIN
content-encoding
br
content-type
text/html; charset=utf-8
date
Sat, 16 Dec 2023 08:48:20 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=dytIqSSukhUHrFmjXPgQ5YV7fGTAC3b1D64dbnzIxrGiVrK%2FmXdng883kShA5%2BGPbVGrwJIijtARRbra9wDl19iZ%2FP7MeDWSMWlnjtmQb8al9w3Z%2BsJFwjVN7zID28wJF8HPTyjHx2vyQnn%2FIRNRaVp%2FFvUCrw%3D%3D"}],"group":"cf-nel","max_age":604800}
server
cloudflare
via
1.1 5ba1fc6b25fbcd91520a550358bd4bac.cloudfront.net (CloudFront)
x-amz-cf-id
fGevoDlv-n_ZFlYoeztYSoLqkNu2srPbgisLrk92K5-ylz__zR6MCQ==
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
8 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
104.22.20.220 -, , 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 08:48:20 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
724013
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701992487&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=RZDAdcoXF5tftF%2FM5Uu3D59n9pgpj729pohZn5e%2Bz9Q%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=1701992487&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=RZDAdcoXF5tftF%2FM5Uu3D59n9pgpj729pohZn5e%2Bz9Q%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394718ce-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
104.22.20.220 -, , 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 08:48:20 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
29334
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394818ce-SIN
6173-c54c16c885a02fa5.js
observablehq.com/_next/static/chunks/
0
6 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
104.22.20.220 -, , 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 08:48:20 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
29333
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394a18ce-SIN
4021-770e0ca2fc268a55.js
observablehq.com/_next/static/chunks/
0
31 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
104.22.20.220 -, , 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 08:48:20 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
29333
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394b18ce-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
104.22.20.220 -, , 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 08:48:20 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
29333
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394c18ce-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
104.22.20.220 -, , 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 08:48:20 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
29333
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394d18ce-SIN
why-observable.json
observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/
26 KB
5 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
104.22.20.220 -, , 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 08:48:20 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=1702716500&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=zNrHNJIJSCDqk9b2Tw38cF%2BR5KnrtYYAONHn5%2Bu9F1g%3D
server
cloudflare
etag
"dkxcrrsk0qkde"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702716500&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=zNrHNJIJSCDqk9b2Tw38cF%2BR5KnrtYYAONHn5%2Bu9F1g%3D"}]}
content-type
application/json
cache-control
s-maxage=60, stale-while-revalidate
cf-ray
8365aaad394418ce-SIN
why-observable-f69dbe892d5e4a3d.js
observablehq.com/_next/static/chunks/pages/
0
2 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
104.22.20.220 -, , 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 08:48:20 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
21916
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%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=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad394e18ce-SIN
enterprise.json
observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/
28 KB
7 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
104.22.20.220 -, , 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 08:48:20 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=1702716500&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=zNrHNJIJSCDqk9b2Tw38cF%2BR5KnrtYYAONHn5%2Bu9F1g%3D
server
cloudflare
etag
"38j7x1qg7dma9"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702716500&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=zNrHNJIJSCDqk9b2Tw38cF%2BR5KnrtYYAONHn5%2Bu9F1g%3D"}]}
content-type
application/json
cache-control
s-maxage=60, stale-while-revalidate
cf-ray
8365aaad394518ce-SIN
enterprise-8c06ec85ce925a0b.js
observablehq.com/_next/static/chunks/pages/
0
1 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
104.22.20.220 -, , 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 08:48:20 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
21916
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%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=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad596118ce-SIN
pricing.json
observablehq.com/_next/data/XKMsWK-BMKPYHP6YfjEBD/
21 KB
4 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
104.22.20.220 -, , 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 08:48:20 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=1702716500&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=zNrHNJIJSCDqk9b2Tw38cF%2BR5KnrtYYAONHn5%2Bu9F1g%3D
server
cloudflare
etag
"153wccxwa2dgom"
vary
Accept-Encoding
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702716500&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=zNrHNJIJSCDqk9b2Tw38cF%2BR5KnrtYYAONHn5%2Bu9F1g%3D"}]}
content-type
application/json
cache-control
s-maxage=60, stale-while-revalidate
cf-ray
8365aaad394618ce-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
104.22.20.220 -, , 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 08:48:20 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
21916
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%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=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad596218ce-SIN
%5Bat%5D-8a5ffa4be6fa2d53.js
observablehq.com/_next/static/chunks/pages/
0
2 KB
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
104.22.20.220 -, , 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 08:48:20 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
117467
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702599033&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Pn61GXrL44fV1%2BvY7Ou2moYAnO66xes%2Frlr%2BkDu2OZE%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=1702599033&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Pn61GXrL44fV1%2BvY7Ou2moYAnO66xes%2Frlr%2BkDu2OZE%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaad596318ce-SIN
001eda96ca4dcca562e7236ae19e698720e8ea20a3d23a09a96333702c4b0f7a
avatars.observableusercontent.com/avatar/
572 B
986 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/001eda96ca4dcca562e7236ae19e698720e8ea20a3d23a09a96333702c4b0f7a?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
172.67.176.151 , 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 08:48:20 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
3049173
alt-svc
h3=":443"; ma=86400
content-length
572
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699667326&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=N1n%2BuIWOtU%2Fv2hdmoKyn9uqLqM%2BYAdlN8GR5kQ%2BQ%2Fdc%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=1699667326&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=N1n%2BuIWOtU%2Fv2hdmoKyn9uqLqM%2BYAdlN8GR5kQ%2BQ%2Fdc%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaae0a9c5f52-SIN
28b8518718dc3e70bed3a8256215864c8ac22777155e21dd5564f285665f60ae
avatars.observableusercontent.com/avatar/
1 KB
2 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/28b8518718dc3e70bed3a8256215864c8ac22777155e21dd5564f285665f60ae?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
172.67.176.151 , 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 08:48:20 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
2793525
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699922975&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Bcph73i8NwEUp4NTLu4dSzjpHLItleiGLCjbLZGq54A%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=1699922975&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Bcph73i8NwEUp4NTLu4dSzjpHLItleiGLCjbLZGq54A%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaae0a9d5f52-SIN
861da0051a157e62597b296628277cdd29a997fbc1a0d17912d8bc471c2bbc80
avatars.observableusercontent.com/avatar/
337 B
679 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/861da0051a157e62597b296628277cdd29a997fbc1a0d17912d8bc471c2bbc80?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
172.67.176.151 , 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 08:48:20 GMT
content-security-policy
default-src 'none'
x-content-type-options
nosniff
strict-transport-security
max-age=86400; includeSubDomains; preload
via
1.1 vegur
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
cf-cache-status
HIT
age
3303885
alt-svc
h3=":443"; ma=86400
content-length
337
server
cloudflare
etag
"151-+GBVb333xYF69xKEBrenZqYlCdM"
x-frame-options
deny
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=v%2BXzG1lVCMq%2BnTPrUzXsG0Tb1KqvM%2BTmlIgQJHOuU0KJvgIbdjDdJ%2F3yEgoQswW%2BJpy4fqiIt4o941PD9ijlp7cBORRdRe9a0lCvXyc3CRHzDZpgvlrMa4%2B%2BnLtDcxJz9PevNIAzmi%2Fs2SK8l4%2FUIzHBeo8%3D"}],"group":"cf-nel","max_age":604800}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaae0a9e5f52-SIN
12c60274e2555658e9cbaec1f314da2e8640aa5e84ea8edc2035cad8ed78f960
avatars.observableusercontent.com/avatar/
330 B
733 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/12c60274e2555658e9cbaec1f314da2e8640aa5e84ea8edc2035cad8ed78f960?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
172.67.176.151 , 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 08:48:20 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
2865734
alt-svc
h3=":443"; ma=86400
content-length
330
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699850765&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Xf9Uoy8q1yLahyY5ppNAusczv%2BXmRnfxqdQPHqGO3As%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=1699850765&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=Xf9Uoy8q1yLahyY5ppNAusczv%2BXmRnfxqdQPHqGO3As%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaae0a9f5f52-SIN
3da8dfae158d0eac994729272d88a21b700faaa2f34a98d6518064aaa722a9c9
avatars.observableusercontent.com/avatar/
1009 B
2 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/3da8dfae158d0eac994729272d88a21b700faaa2f34a98d6518064aaa722a9c9?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
172.67.176.151 , 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 08:48:20 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
2953960
alt-svc
h3=":443"; ma=86400
content-length
1009
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699762540&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=z%2Fy5j%2FQoxUgrXcdH17dPJlHK4%2FKbg0cpgH3LTm5dTfQ%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=1699762540&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=z%2Fy5j%2FQoxUgrXcdH17dPJlHK4%2FKbg0cpgH3LTm5dTfQ%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaae0aa05f52-SIN
22750d026c52fd24881cb2eb265d03d5cafee7d9b9c7640bc14c1c591e53852f
avatars.observableusercontent.com/avatar/
1 KB
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/22750d026c52fd24881cb2eb265d03d5cafee7d9b9c7640bc14c1c591e53852f?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
172.67.176.151 , 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 08:48:20 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
3052732
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699663768&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=lamE2RnU8hxkGLrhfmGmKL0s03VTIfy5SoMI7MZ1W14%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=1699663768&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=lamE2RnU8hxkGLrhfmGmKL0s03VTIfy5SoMI7MZ1W14%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaae0aa15f52-SIN
3650447af2e2411fcfe3aa899ed520cce0fe01a62f5b78ec6617c32d64cdf326
avatars.observableusercontent.com/avatar/
577 B
953 B
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/3650447af2e2411fcfe3aa899ed520cce0fe01a62f5b78ec6617c32d64cdf326?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
172.67.176.151 , 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 08:48:20 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
1415276
alt-svc
h3=":443"; ma=86400
content-length
577
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701301224&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=tZ7j6qVjzUdsX3nDhhpe1o2%2FUiVA43g7OyCYAZwkgus%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=1701301224&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=tZ7j6qVjzUdsX3nDhhpe1o2%2FUiVA43g7OyCYAZwkgus%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaae0aa35f52-SIN
a35a91b5ca23c5dd084a628d6c4898fb6eefb2ede192b1801b0efae516f49017
avatars.observableusercontent.com/avatar/
812 B
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/a35a91b5ca23c5dd084a628d6c4898fb6eefb2ede192b1801b0efae516f49017?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
172.67.176.151 , 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 08:48:20 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
3133716
alt-svc
h3=":443"; ma=86400
content-length
812
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1699582784&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=EOvQOKBIIyvcPgZiI%2FGiZMe%2F9Oh7U5lQ95dGpYj6Rp8%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=1699582784&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=EOvQOKBIIyvcPgZiI%2FGiZMe%2F9Oh7U5lQ95dGpYj6Rp8%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
accept-ranges
bytes
cf-ray
8365aaae0aa45f52-SIN
ec81d47e8647af7f76ea8f171c5d7792d26d3e9a0b353b893529f22882a121c4
avatars.observableusercontent.com/avatar/
1 KB
1 KB
Image
General
Full URL
https://avatars.observableusercontent.com/avatar/ec81d47e8647af7f76ea8f171c5d7792d26d3e9a0b353b893529f22882a121c4?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
172.67.176.151 , 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 08:48:20 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
126171
alt-svc
h3=":443"; ma=86400
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702590329&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=dnHztc4Y7%2BJj2JiNPl%2FW96t0TVSC7BJYx%2FwDPW0zuXo%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=1702590329&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=dnHztc4Y7%2BJj2JiNPl%2FW96t0TVSC7BJYx%2FwDPW0zuXo%3D"}]}
content-type
image/avif
vary
Accept-Encoding
cache-control
public, max-age=31536000, immutable
cf-ray
8365aaae0aa75f52-SIN
232cdb2809ef432790a48da78b406ce4da83f46f1190ae25ac5c41ebccf796bc.jpg
static.observableusercontent.com/thumbnail/
24 KB
24 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/232cdb2809ef432790a48da78b406ce4da83f46f1190ae25ac5c41ebccf796bc.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Thu, 05 Oct 2023 15:31:22 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
1271271
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
qzbAvv9e-hXiHdLSsid5R3HdTlP-E69-9Y_GlXLcK6IJUGbbM5yWdw==
3e4b52f797bedc9bc0f2399588379c714363ef6a2fec96dd47b41bfd38a225c1.jpg
static.observableusercontent.com/thumbnail/
34 KB
35 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/3e4b52f797bedc9bc0f2399588379c714363ef6a2fec96dd47b41bfd38a225c1.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Mon, 02 Oct 2023 20:37:32 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6414028
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
BTajakezq_8DQedJDn6zTOVWd_QfUFfKN41Rs__2eWyNj1e8RM2g8Q==
cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3.jpg
static.observableusercontent.com/thumbnail/
20 KB
21 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Wed, 06 Dec 2023 23:41:37 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
802831
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
y3LLxyjshM2D9DntmGgBdI2yQqFyMU_G2q-FW-3I6v1MS0GOVfAtUg==
790818b959bb2b0488a02e32c6c72368ac678f67a9c4dc0fa82a3b64443f6629.jpg
static.observableusercontent.com/thumbnail/
29 KB
30 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/790818b959bb2b0488a02e32c6c72368ac678f67a9c4dc0fa82a3b64443f6629.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Thu, 05 Oct 2023 13:00:49 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6078008
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
LN9gV5MzVXla_zlwc9fzUVdcIWsM73vV0aeYlAleWTXTwbMNwMRdxA==
cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a.jpg
static.observableusercontent.com/thumbnail/
16 KB
16 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Thu, 28 Sep 2023 22:25:07 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6753784
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
fEe-PgEEIBUxCZ2tht8B-1UpHQ-LDBjtP8fx4I7Z_9PASS5ftOiBqA==
da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a.jpg
static.observableusercontent.com/thumbnail/
31 KB
31 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Wed, 27 Sep 2023 17:42:59 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6447171
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
7z2bHuQAhZrZL2N_cbG42UqEJMY1TLK74SJAfYasNtu6u0UX6xIbtQ==
166ac7c7df69640272ca952a247d37b642225193f8f351a4740beaae1da05527.jpg
static.observableusercontent.com/thumbnail/
56 KB
57 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/166ac7c7df69640272ca952a247d37b642225193f8f351a4740beaae1da05527.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Sun, 01 Oct 2023 18:19:43 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
6510967
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
hqf8qbiB5rdkyYLf86ppPf2jAZKG7XsVuedGS2Ov7xuqDv8FCZcYng==
c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3.jpg
static.observableusercontent.com/thumbnail/
27 KB
28 KB
Image
General
Full URL
https://static.observableusercontent.com/thumbnail/c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3.jpg
Requested by
Host: observablehq.com
URL: https://observablehq.com/@d3/drag-zoom
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Tue, 05 Dec 2023 07:28:16 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
910894
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
2K_lMNalY8GnGYaUqwUQy9rDf-FAhWI8mS3_ndN501CUB-gkoYWmvQ==
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
104.22.20.220 -, , 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 08:48:20 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
724013
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1701992487&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=RZDAdcoXF5tftF%2FM5Uu3D59n9pgpj729pohZn5e%2Bz9Q%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=1701992487&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=RZDAdcoXF5tftF%2FM5Uu3D59n9pgpj729pohZn5e%2Bz9Q%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bb918ce-SIN
6079-890e2f68adadc60d.js
observablehq.com/_next/static/chunks/
77 KB
19 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
104.22.20.220 -, , 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 08:48:20 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
29334
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bba18ce-SIN
6173-c54c16c885a02fa5.js
observablehq.com/_next/static/chunks/
13 KB
6 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
104.22.20.220 -, , 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 08:48:20 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
29333
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bbb18ce-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
104.22.20.220 -, , 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 08:48:20 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
29333
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bbd18ce-SIN
1442-891c089a11b8aad0.js
observablehq.com/_next/static/chunks/
33 KB
11 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
104.22.20.220 -, , 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 08:48:20 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
29333
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bbe18ce-SIN
index-07bd490c5979e24b.js
observablehq.com/_next/static/chunks/pages/
940 B
702 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
104.22.20.220 -, , 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 08:48:20 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
29333
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%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=1702687166&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=pUaNZmeVZ6hJE9osXdFeORbXGL9E7tHjTqwRH6KFBXM%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bbf18ce-SIN
why-observable-f69dbe892d5e4a3d.js
observablehq.com/_next/static/chunks/pages/
3 KB
3 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
104.22.20.220 -, , 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 08:48:20 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
21916
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%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=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bc018ce-SIN
enterprise-8c06ec85ce925a0b.js
observablehq.com/_next/static/chunks/pages/
3 KB
3 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
104.22.20.220 -, , 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 08:48:20 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
21916
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%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=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bc118ce-SIN
pricing-680b53b9df53213a.js
observablehq.com/_next/static/chunks/pages/
3 KB
2 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
104.22.20.220 -, , 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 08:48:20 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
21916
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%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=1702694584&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=8U%2FxaUL4RO8InehohOH2U9VjbuQI%2FQoN4jQEXq69JHQ%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bc218ce-SIN
%5Bat%5D-8a5ffa4be6fa2d53.js
observablehq.com/_next/static/chunks/pages/
328 B
720 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
104.22.20.220 -, , 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 08:48:20 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
117467
content-encoding
gzip
reporting-endpoints
heroku-nel=https://nel.heroku.com/reports?ts=1702599033&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Pn61GXrL44fV1%2BvY7Ou2moYAnO66xes%2Frlr%2BkDu2OZE%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=1702599033&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=Pn61GXrL44fV1%2BvY7Ou2moYAnO66xes%2Frlr%2BkDu2OZE%3D"}]}
content-type
application/javascript; charset=UTF-8
cache-control
public, max-age=31536000, immutable
cf-ray
8365aab01bc318ce-SIN
worker-94d28b2b.css
static.observableusercontent.com/next/ Frame 8677
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
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 aba5c115363c1a37b7337fdb5a449b1e.cloudfront.net (CloudFront)
last-modified
Thu, 30 Nov 2023 18:25:48 GMT
server
AmazonS3
x-amz-cf-pop
SIN2-P2
age
1271271
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
Kig9XlPGxSjaKPYlJlny5s03ftjOushrEDbp-YK498YXkee9nOjM8A==
worker-7dc963d7.js
static.observableusercontent.com/next/ Frame 8677
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
13.33.88.56 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-33-88-56.sin2.r.cloudfront.net
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 869c20a0b6637fa4614a52064a4bf808.cloudfront.net (CloudFront)
x-amz-cf-pop
SIN2-P2
age
115413
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
nuyt2yrHieLHjSLjxn0CuaJhkPY6YBMpykAyozQr7q7RSbLw16P-zg==
beacon-events
events.observablehq.com/
0
742 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
104.22.20.220 -, , 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 08:48:21 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=1702716501&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=LtdUprULkIyWaaVm7Yl8SvEt4ZrVBuaOomuLgH9lsA0%3D
server
cloudflare
x-frame-options
deny
report-to
{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1702716501&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&s=LtdUprULkIyWaaVm7Yl8SvEt4ZrVBuaOomuLgH9lsA0%3D"}]}
access-control-allow-origin
https://observablehq.com
vary
Origin
access-control-allow-credentials
true
cf-ray
8365aab22d0618ce-SIN
access-control-allow-headers
Authorization, Content-Type
css2
fonts.googleapis.com/ Frame 8677
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
172.253.118.95 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sl-in-f95.1e100.net
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 08:48:21 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:48:21 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 08:48:21 GMT
marked.min.js
cdn.observableusercontent.com/npm/marked@0.3.12/ Frame 8677
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
172.67.176.151 , 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 08:48:21 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
2958576
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-qpg1228-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=GJuLa2PRH0LkqB8pPBQv9BShtBo2gbdOTRFMRuNIcKziuMjBIqPPx0%2FwMxxYx5PRkaJFMMIIJXfdUxuy7edd6BeSZMlhEI%2B6c1j6r7j1qJ0vUtb%2BCrWL5%2Fzep0SnaeDaROtPx3Ako8GMix6yk3OqXA%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
8365aab62c675f52-SIN
timing-allow-origin
*
package.json
cdn.observableusercontent.com/npm/d3@6/ Frame 8677
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
172.67.176.151 , 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 08:48:22 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
20529
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-qpg1247-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=U9wMV6AAjI%2B831rKGDqiiO4PoC%2FU89LLDGowu%2B9HLMpdTqzvjs365U9ezh7IOArjAzCxbdzNwVfhLG7KMNjmoo4XWh%2BiRAHSnYeoVpB1mq%2BRlLyU7AcqtzgYnsdgBIITVI5h7q352aGyPdr4fZEa3A%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
8365aabacbb25fae-SIN
timing-allow-origin
*
neIXzD-0qpwxpaWvjeD0X88SAOeasc8btSyqxA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/ Frame 8677
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
64.233.170.94 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sg-in-f94.1e100.net
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
Sat, 16 Dec 2023 00:30:50 GMT
x-content-type-options
nosniff
age
29851
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
Sun, 15 Dec 2024 00:30:50 GMT
neIQzD-0qpwxpaWvjeD0X88SAOeauXQ-oA.woff2
fonts.gstatic.com/s/sourceserifpro/v17/ Frame 8677
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
64.233.170.94 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
sg-in-f94.1e100.net
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 00:30:49 GMT
x-content-type-options
nosniff
age
29852
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 00:30:49 GMT
d3.min.js
cdn.observableusercontent.com/npm/d3@6.7.0/dist/ Frame 8677
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
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.67.176.151 , 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 08:48:22 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
1137088
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=RUmtGTBXgYe%2FqzjucCh9PRbTUs1ucIkP4Y%2F3AHoYvW%2BBMWkTcc6fywtYkwhwLFFz1DG0fbwdulA3EQhACZiCLZzhcYN9ppyUFXwiN0cboaFhUk%2BlbYUwDf96sq%2BmeGyQ2U22kkwBx%2F1zmnAdB0chGA%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
8365aabb9a645f52-SIN
timing-allow-origin
*

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| webpackChunk_N_E function| __next_set_public_path__ object| next object| __NEXT_DATA__ function| __SSG_MANIFEST_CB object| __NEXT_P object| _N_E object| __SENTRY__ undefined| __sentryRewritesTunnelPath__ object| SENTRY_RELEASE undefined| __sentryBasePath string| __rewriteFramesAssetPrefixPath__ function| __NEXT_PRELOADREADY object| __MIDDLEWARE_MATCHERS object| __BUILD_MANIFEST object| __SSG_MANIFEST object| google_tag_manager object| google_tag_data function| onYouTubeIframeAPIReady object| gaGlobal boolean| __REACH_DISABLE_TOOLTIPS

3 Cookies

Domain/Path Name / Value
.observablehq.com/ Name: _ga_9B88TP6PKQ
Value: GS1.1.1702716499.1.0.1702716499.0.0.0
.observablehq.com/ Name: _ga
Value: GA1.1.1207134869.1702716500
.observablehq.com/ Name: D
Value: c37467b4-c67d-4b38-bbd1-56860b734e26|1734252501485

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
104.21.83.129
104.22.20.220
13.33.88.56
172.253.118.95
172.67.176.151
34.120.195.249
64.233.170.102
64.233.170.94
74.125.200.97
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
8e806d8d4fbe27435631f1f4b9a54d07579d1e5bc5e813d50f6e8f064b00e4c6
8f55ad833687de686c43e2550c2b860f3254b9262e0e493fe90778302b04e0a1
91799a80404a385ce0f768d6d822b7a8e04768971c91442a6e5b365b13d2208c
93981ede35d910bc63dee4c3d12ba95597978159c80c044cb68c1ad0aba44b32
9ae0099026a800a0e7b45f78e9daad7fe630adf2b13746b0fb55b81e1cb78503
9fb3f991f6a30b078eb370373419382b20a377611411d28c7cea6c3c76b56090
a6541c32b41c77b689c97034e592a9206825a75a47b1c82468f4673d10546008
acf8fe7e8e18357a39f0af5a920198cd0f6c86af01f744a74168f93fd69358b8
afcf3654e08408d082abd771d49182b43273d311ff1d284e7491f51ac315a2ed
ba48466aed6ed4d78eda56878bac7fc3b4787e700d781a779f72cefbbbddedab
c177d04e761a1ee16e8dd80ec2e708e290719cba61bfc06d9508c70a8ca5e511
c2e95c6c2b4ab4ef56f522678ab5a1d794ddecaac06b3dbe25a76233e7d9189f
c754675c4d1df17d7082b421403cf12785d86760a9b4dc7830a789533426a9d6
c759aa22e59d62edbd9e68db202982b5b3d1b8e3422a6a4ae3597f7a15b88a60
c8209e3dc8f01d99db13f6d468d9092dc392cddd2cc3291e397049e0faf099f3
ca213cac02387e1cc4652599d27727c56f51de717d05cb2445c7fb7b22f6fcc5
ca9143a0fbfaf1cf8c690013187d88657ec6f13ea86aa1404c28427dfa6869f6
cac8bb7f8eec74e1840837020a8db6abbbe56476e5f03c813375bf02c03ddc1a
cbc812c46f6f07092bf0ed38fa8883da4f20170b41cb054e0892880302c17ab3
cc308be27791dc58e7ce19f0d245ef66b8eb6975b8c7ae22d97c09927c84dc48
cd93e0ea066c5391ff7e0377dda6fd4789b46604a4a2abb105e9dda711660cdc
d2203132027d40d044bd287b7be1bdb02b84c9e50e4b036f0fb3529b3ac8756a
d7e346556256b98c593c64bfc63a378bcc8a09e74792a4c89eeac19efc741739
da75d92c882c0ea0b909bef55ad4cc2d08ba7a25865ccd6e3261b487da1e831a
dbcc041391c98cb6014a6d394adb6a4fb09c226c05ec512d31f3a026c5d98c44
e3616406fbcbacc7bee5f9fa071fef36d5f6c68628c3508bb5a845420c9bcb59
e3851a51d8008cbbef2c3ddb1775c29424893b218cee709af2f1936370889895
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
e503ce1761da36c0d75049ace6c0d1b7508b5e38286f7a1bbcee9c4aea97a6c7
e57d0e0b4a0b4fd38c7918e46eb86abc019c4ff0a3b0bb6151c7e2a55a89bcb0
ea4ebfc541278246e0d1e2bb47a7f9b068abbe4f8540c79d1b7d38fb3e5101b0
f0c35de298ddd804dd04882a79f3397da84829d9c8c1d6d301e153c4147f5dd4
f45d59e34017878addf027bca954183479512142121eee8b4c54b75757c006f5
f50e938409c37d203e95991af039b9eeb3a27598b0eeb7d098ddd3287a83657c
f8fb7bcc88cb9cb356c05ee8993db9cc21372b55bc0dccf5babce11228aa0eec
fb396bdc7fd07201ced045f8b489eac118f267d1194d55dfb97189685a16c82b
fbb8da602a76f4ed49bac3561da62d8149fa121b8fd15685bacc21355d3a3322