2ch側のdatファイル

Webブラウザから2chを閲覧する際には、サーバ側のread.cgiによってdatがHTMLに変換されたものを受信し、表示する。これに対して2chブラウザはdatを直接ダウンロードすることで、サーバの負担は少なく、また少し高速にスレッドを表示することが出来る(はず)。
サーバのdatをダウンロードする際には、

  • gzipで圧縮して送ってくれ」と頼むことが出来る。こうすると転送量も減ってサーバと2chの財政にさらにやさしい*1

さらに、

  • 「datの何バイト目から後を送ってくれ」と頼むことも出来る。

こうすれば全部のdatをダウンロードするより速い(はず)。


ところが、Thousandを作っていて気付いたのだけど、この2つのオプションを一度に選ぶことは出来ない。つまり、gzip圧縮したものをダウンロードする際には丸ごとしか許されないのだ。するとどうなるかというと、すでにダウンロードしていてローカルに存在する部分に対し、新規にダウンロードすべき部分の容量が十分大きい場合は、差分を取得するよりもう一度丸ごとgzipで取得した方が速い場合があり得るのである*2
現在のThousandは、最初の取得はgzipであるが、その後の差分はdatのままである。これを新着レス数などから判断して、より速いダウンロード形式を選択するというのはなんとなくかっこいい気がする。

*1:今はどうなんだろうか

*2:そんな気にするほどの差ではないとは思うけど