359 :
358:2001/06/23(土) 16:21 ID:???
ちなみにそのときのログです。416にまだ対応してないみたいですね。
BIG-server系の鯖はApacheのバージョンが1.3.6なので416が返ることは
ありませんが、takoは可能性があります。
GET /nanika/dat/989583496.dat HTTP/1.1
Host: nh.mikage.to
Accept: text/html, */*
User-Agent: Monazilla/3.0 (Hotzonu 1.0/0.0.3.4)
Range: bytes=83277-
Pragma: no-cache
HTTP/1.1 416 Requested Range Not Satisfiable
Date: Sat, 23 Jun 2001 07:16:26 GMT
Server: Apache/1.3.19 (Unix) mod_gzip/1.3.19.1a mod_fastcgi/2.2.10
Last-Modified: Sat, 23 Jun 2001 00:21:00 GMT
ETag: "76ab-1426a-3b33e0ec"
Accept-Ranges: bytes
Content-Length: 82538
Content-Range: bytes */82538
Connection: close
Content-Type: text/plain
360 :
358:2001/06/23(土) 16:51 ID:???
ソースをざっと見てみましたけどContent-Rangeを直接見ている箇所は
ないようですね。
もしかしてIndyが対応しないと駄目?
361 :
358:2001/06/23(土) 17:41 ID:???
Indyってソース公開なのか。IdHTTP.pasより。
Fetch(RangeDecode);
FContentRangeStart := StrToInt(Fetch(RangeDecode, '-'));
FContentRangeEnd := StrToInt(Fetch(RangeDecode, '/'));
ここで無条件にStrToIntしてるのが原因みたい。
RFC 2616によればここには「*」が入りうるからIndyのバグと言っていい
ですね。
http://www.isi.edu/in-notes/rfc2616.txt 開発版の8.1でもまだ直ってないみたい。