🌀 gzipの自動展開が辞書読み込みを壊す瞬間を可視化

kuromoji.jsの辞書(.dat.gz)は圧縮されたままブラウザへ渡す必要があります。ここでは`.htaccess`でAddEncoding identity .gzを有効にした状態と、無効で自動展開される状態を切り替えて、何が起きるかをシミュレーションします。

現在: 自動展開ON (危険)
✅ AddEncoding identity .gz

辞書ファイルを圧縮されたまま送信。kuromoji.jsは期待通りにArrayBufferを解析し、索引が生成できます。

⚠️ サーバーが自動解凍

辞書が途中で解凍され、ファイルサイズが想定より大きくなる。kuromoji.jsのロード時にエラー (RangeError: offset is out of bounds) が発生します。

ログ
2025-01-20 10:02:11 » GET base.dat.gz → 200 (Content-Encoding: gzip)
2025-01-20 10:02:11 » ブラウザ: ArrayBuffer長 262,144 を期待
2025-01-20 10:02:11 » 実際: 311,296 bytes → offset out of bounds
2025-01-20 10:02:11 » 索引生成を中断しました。