■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

monazilla part 2

84 :デフォルトの名無しさん :01/11/30 15:24
あまり利用する人はいないと思うけど、小ネタ。

ある程度まで取得してあったスレが過去ログ倉庫に逝ってしまった場合、
HEADメソッドのLast-ModifiedやContent-Lengthで取得できるのは
.dat.gzファイルのものなので、追加があるかはHEADメソッドでは判定できない。
そこで、.gzファイル内に記録されている更新日時や.datのサイズを取得する。
(全て、リトルエンディアンのDWORD値)

Range: bytes=4-7
オリジナルの.datの最終更新日時がtime値(.datのファイル名と同じ)で取得できる。
鯖移転等がなければ最終更新は、最後の書きこみ(削除)の日付が保持されている。

Range: bytes=-4
オリジナルの.datのサイズが取得できる。

更新日を保持しているなら日付を元に、そうでなければサイズを元に
取得するかどうかを決めると良さそう。
(HTML化待ち期間がはさまるので、あまり使う機会は無いだろうけど)


ちなみに、Range: bytes=4-7,-4
とすると日付とサイズの両方が一度に取得出来るけど、
multipart-byterangeになるのでparseが面倒。

あと、Range: bytes=-8
とすると、.dat全体のCRC32とサイズが返ってくる。

あと、意味なしだけど、Accept-Encoding: gzip が付いていれば、
GET /bbs/kako/xxx/xxxxx.dat HTTP/1.x
でも、.dat.gzが取得できる。
Rangeも有効。ただし、.gzファイルのRange。

238KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30