1. 八百万のOSS
  2. #6 ブラウザに巨大JSONが眠っ..
#6 ブラウザに巨大JSONが眠ってる?巨大データで見るブラウザの裏側
2026-06-10 1:04:31

#6 ブラウザに巨大JSONが眠ってる?巨大データで見るブラウザの裏側

毎日使っているのに、ブラウザが中で何をしているか実はよく知らない——そんな話から始まる今回。


catatsuyが取り上げるのは、ChromiumやFirefoxが裏側で扱っている「巨大なデータ」です。


ブラウザはHTMLを描画するだけでなく、HTTPSへ強制するドメイン一覧、危険URLのリスト、証明書の失効情報、よく使われるリソースURLパターンなど、さまざまな補助データを持っています。しかし、それらを単純な巨大リストとしてそのまま持つのは難しく、毎回サーバーへ問い合わせるのもレイテンシやプライバシーの問題があります。


今回はHSTS Preload、Google Safe Browsing、CRLite、Pervasive resource URL patternsなどを題材に、巨大なデータをブラウザがどう持ち、どう配り、どう高速に判定しているのかを話しました。


HSTS Preloadのドメイン一覧とsuffix判定、Safe Browsingのhash prefix、CRLiteのBloom Filter cascade、そしてURL patternによるリソースURLの扱いなど、暗号やTLSだけではない、ブラウザを支えるデータ構造と配布設計を覗いていきます。


trie treeやBloom Filterといったデータ構造の話も出てきますが、完全な仕様解説ではなく、ブラウザの裏側にある設計の面白さを見ていく回です。


ブラウザの中身に興味が湧いてくる、盛りだくさんなお話です。


* Chromium: https://www.chromium.org/

* Firefox: https://www.mozilla.org/firefox/

* HSTS Preload: https://hstspreload.org/

* Google Safe Browsing: https://safebrowsing.google.com/

* CRLite(Firefox): https://github.com/mozilla/crlite

* Certificate Transparency: https://certificate.transparency.dev/

* Trie: https://en.wikipedia.org/wiki/Trie

* Bloom Filter: https://en.wikipedia.org/wiki/Bloom_filter

* Pervasive resource URL patterns: https://chromium.googlesource.com/chromium/src/+/HEAD/services/network/pervasive_resources

* Brotli: https://github.com/google/brotli

* Zstandard (zstd): https://github.com/facebook/zstd

* Hono: https://hono.dev/

* jQuery: https://jquery.com/

* Rust: https://www.rust-lang.org/


─────────────

YouTube: https://youtu.be/NH1yseBycOw

Web: https://yaoyorozu-oss.henteko07.com/

X: https://x.com/yaoyorozu_oss

感想

まだ感想はありません。最初の1件を書きましょう!

01:04:31

コメント

スクロール