まず普通にdatをキャッシュする

GET /bbs/dat/key.dat HTTP/1.0
Host: server
User-Agent: UA
Range: bytes=ファイルサイズ-1
Connection: close

206なら更新があるので返ってきたデータの先頭が改行コードなら書き足す
もし改行コードじゃなかったらあぼーん判定してdatを再取得

304なら更新がなかったので更新時間のみを変更

416ならあぼーん判定してdatを再取得する

こんな感じ