- 917 名前:899 mailto:sage [2008/09/30(火) 22:47:34 ]
- もう一つヘッダがらみの質問です
2chでは転送量を抑えるためGZipで圧縮をかけたデータのやりとりを推奨 しているようです。そこで以下のように(言語はC#です)GZipフラグをヘッダ に付けてリクエストを出すようにしています。 webRequest.AutomaticDecompression = DecompressionMethods.GZip; ただこの方法だと差分取得で問題が発生してしまいました。 webRequest.AddRange( fileSize ); の fileSize の部分にローカルにDLしたDATファイル(GZip圧縮は解除され 平文のテキストファイルです)のファイルサイズを調べて指定したのですが、 どうやらGZipフラグを付けると AddRange で指定すべきファイルサイズは GZipで圧縮したときの容量ではないといけないようなんです。 ローカルのDATファイルのファイルサイズを指定すると416:RequestedRangeNotSatisfiable が返されてそれ以降DATを取得できなくなってしまいます。 GZipで差分データをやりとりするときは、GZip圧縮をかけた状態で受け取った DATのサイズを計測し、それを累積加算しながら AddRange でリクエストしない とデータは取得できないのでしょうか?DATファイルひとつごとにGZipで受け取った ときのサイズを累積加算してローカル側に記憶しておく必要があるうえに、 万が一その値を失った場合は最初からDATを取得しなければならない等 不便が予想されるわけですがみなさんはどうやって対処されていますか?
|

|