以前、iPhone 3GSから自宅Webサーバに置いたMP4がストリーミング再生できない件で、Apacheなら出来るけど04WebServerだと出来ないのが何故だろうと思っていたら、Webサーバがbyte-rangeリクエストをサポート(content-rangeとかpartial-rangeとも呼ぶらしい)してないとダメなんだとか。
てな訳で、NetBSDにcurlをpkgsrcでインストールして、Apache for Windowsと04WebServerの両方で次のコマンド使って挙動を確認してみた。
$ curl --range 0-99 --user username:password http://hogehoge.jp/mp4video/sample.mp4 -o temp.mp4 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 100 100 100 0 0 18 0 0:00:05 0:00:05 --:--:-- 1111 $
これで左から2つ目と4つ目の数字が100なら、ちゃんと指定した範囲内だけダウンロードできているので問題なし。そうじゃない場合は全部ダウンロードしちゃうので、かなりデカい数字になってるハズ。
参考:Travellers Tales : iPhone 用 Web ページおよびアプリケーションの作り方 - iPhone Development Guidelines を読む