惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
博客园_首页
T
Tailwind CSS Blog
美团技术团队
博客园 - 叶小钗
Microsoft Security Blog
Microsoft Security Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog

Common Crawl

Common Crawl - Blog - Introducing the AI Visibility Audit Common Crawl - Blog - Host- and Domain-Level Web Graphs March, April, and May 2026 Common Crawl - Blog - May 2026 Crawl Archive Now Available Common Crawl - Blog - April 2026 Crawl Archive Now Available in a Hugging Face Storage Bucket Common Crawl - Blog - Host- and Domain-Level Web Graphs February, March, and April 2026 Common Crawl - Blog - April 2026 Crawl Archive Now Available Common Crawl - Blog - April 2026 Common Crawl Newsletter Common Crawl - Blog - Announcing a Change to Common Crawl Dataset Size Reporting Common Crawl - Blog - Host- and Domain-Level Web Graphs January, February, and March 2026 Common Crawl - Blog - March 2026 Crawl Archive Now Available Common Crawl - Blog - IPv6 Adoption Across the Top 100K Web Hosts Common Crawl - Blog - Web Graph Statistics Gets a Proper Upgrade Common Crawl - Blog - Measuring Web Accessibility from Crawl Archives Common Crawl - Blog - Announcing the Whirlwind Tour of Common Crawl's Datasets Using Java Common Crawl - Blog - Host- and Domain-Level Web Graphs December 2025 and January/February 2026 Common Crawl - Blog - Introducing the New Examples & Resources Browser Common Crawl - Blog - February 2026 Crawl Archive Now Available Common Crawl - Blog - AI Plumbers at FOSDEM’26 Common Crawl - Blog - CC-Citations: A Visualization of Research Papers Referencing Common Crawl Common Crawl - Blog - CommonLID: Re-evaluating State-of-the-Art Language Identification Performance on Web Data Common Crawl - Blog - Host- and Domain-Level Web Graphs November/December 2025 and January 2026 Common Crawl - Blog - January 2026 Crawl Archive Now Available Common Crawl - Blog - Web Archives for Social Sciences Datathon, Bristol Common Crawl - Blog - How SEOs Are Using Common Crawl's Web Graph Data for AI Ranking Signals Common Crawl - Blog - GneissWeb Annotations Examples Common Crawl - Blog - Common Crawl at the Mozilla Festival 2025 Common Crawl - Blog - Host- and Domain-Level Web Graphs October, November, December 2025 Common Crawl - Blog - December 2025 Crawl Archive Now Available Common Crawl - Blog - A Sampling of 2025 Research Referencing Common Crawl Common Crawl - Blog - Host- and Domain-Level Web Graphs September, October, and November 2025
Common Crawl - Blog - You can now build directly on Commo...
2026-05-06 · via Common Crawl

Editor's note

This post predates the renaming of the "Columnar Index" to the "URL Index". References below to the "columnar index" refer to what is now called the URL Index.

An animation showing a visualisation of an HTTP byte-range request.

Pulling a single page out of an 800 MiB WARC file: the browser asks for a specific byte range, gets back just those bytes.  This wasn't possible from a browser before.

We've updated the CORS policies on data.commoncrawl.org and index.commoncrawl.org so that browsers can now fetch from both directly.  No proxy, no backend, no CORS plugin jazz.  We're rather excited about what this enables, but we’d also like to be forthcoming about a trade-off that comes with this change.

What on earth is CORS anyway?

CORS is a browser-only safety check.  It stands for Cross-Origin Resource Sharing, and it’s an HTTP-header-based security mechanism which allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources.

The data on our servers has always been reachable, but what CORS controls is basically just whether or not JavaScript running on someone else's web page is allowed to read the responses.  Without the correct headers, the browser fetches the data and then refuses to hand it over to the page's code.

An animation showing a visualisation of two HTTP requests, one blocked, and one allowed.

Same request, two outcomes. Without the right header the browser hides the response from your code. With it, the response goes through.

Again, things like curl, scripts, and servers don’t care about CORS.  It's a protection for end users whose browsers might otherwise be tricked into reading data from sites they're logged into.  Opening it up doesn’t expose anything new, it just lets browser code reach data that was always public.

What changed?

Both hosts now send Access-Control-Allow-Origin: *.  On the data host, we also allow the Range request header and expose Content-Range, Content-Length, and ETag on responses.  That last thing is important because that means that byte-range requests are now allowed from a browser.

A static HTML page can now do the full Common Crawl pipeline end-to-end:

// 1. Look up a URL in the CDX index
const cdx = await fetch(
  'https://index.commoncrawl.org/CC-MAIN-2026-17-index'
  + '?url=example.com&output=json&limit=1'
).then(r => r.text());

const { filename, offset, length } = JSON.parse(cdx.split('\n')[0]);

// 2. Range-fetch just that record from the WARC, a few KB instead of ~1 GB
const record = await fetch(`https://data.commoncrawl.org/${filename}`, {
  headers: { Range: `bytes=${offset}-${+offset + +length - 1}` }
}).then(r => r.blob());

That's enough to build historical snapshot viewers, diff tools, link-graph explorers, teaching demos, and bookmarklets, all as static sites with no infrastructure requirements. The world is your proverbial oyster.

The Columnar Index is even more fun.  DuckDB-WASM does HTTP range reads over Apache Parquet, so you can run SQL against our index from a browser:

SELECT url, fetch_status
FROM 'https://data.commoncrawl.org/cc-index/table/cc-main/warc/'
     || 'crawl=CC-MAIN-2026-17/subset=warc/part-00000-...c000.gz.parquet'
WHERE url_host_registered_domain = 'example.com'
LIMIT 100;

This DecompressionStream and DuckDB-WASM stuff works in pretty much any browser updated within the last 2 to 3 years.  So Chrome, Edge, Firefox, Safari, and all the Chromium-based browsers (Brave, Arc, Opera, Vivaldi, etc.) since around mid-2023.

A note on the index server

Please be aware, index.commoncrawl.org is rate-limited, and those limits are strict.  With CORS open, you'll hit them more visibly than before, because every user's browser now counts as its own client.

The limits exist for good reason.  The CDX API is backed by finite resources serving the whole community, and a single enthusiastic frontend in a viral tweet can knock it over for everyone else.  Please cache aggressively, batch where you can, and for any workload heavier than interactive lookups, we suggest that you reach for the Columnar Index on data.commoncrawl.org instead (using something like Amazon Athena, or DuckDB, etc.)  The Columnar Index scales far better and isn't subject to the same limits.

We're proud to make infrastructure on which people can build cool stuff.  Just remember to be kind to our poor ol' index server.