【HTTPヘッダサンプル】Range
Range
http://jsgt.org/ajax/ref/head_test/header/Range/Range.htm
リクエストヘッダ HTTP1.1
例:oj.setRequestHeader("Range","bytes=500-999")
【説明】エンティティの一部をリクエストします。 条件なしGETの場合は、成功したら ステータスは、200 (OK) の代わりに 206 (Partial Content)を返す。 条件付きの GET の場合は、条件が偽なら304。
【テスト内容】500〜999バイト目をリクエストします。リクエストするファイルtest.txtの中身は、次の通り。
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111-222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222-333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333-444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444-555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555-666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666-777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777-888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc-ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff-
【結果】このテスト用ファイルの500〜999バイト目である、6〜0にかけての文字列が返ります。
【メモ】データの位置を指定して必要な部分だけリクエストしたり、ファイルを分割して受け取ったりできます。位置をバイト数で指定できますので、たとえば、固定長なフォーマットのデータを処理するという使い方も出来るかも。 【雑談】フラグメント
【サンプル】
高橋 ( 2005年11月30日 08:33 )
>マップを状況に応じて読み込む
まさに適任かも。
高橋 ( 2005年11月30日 17:07 )
Operaがだめです。
Content-Typeは設定できるようになったので大丈夫かと思ったんですが、これは駄目っぽいです。裏技ないかな、、、。
とおりすがり ( 2005年12月02日 20:03 )
http://la.ma.la/blog/diary_200507290022.htm
POSTだと8.02でうごくらしいですがどうでしょうか
高橋 ( 2005年12月02日 22:52 )
とおりすがりさんありがとうございます。
でも、POSTもchk済みです。結構、周到にガードしているようです。いくつか試してみましたが、\r\nだけではなくて、許可したもの以外は通さない雰囲気?です(^^;。
高橋 ( 2005年12月02日 23:19 )
とりあえず、Rangeをベンチマークしました。
回線速度によってかなり結果は異なりますが、
相対的な関係は同じかなと思います。テストのアベレージはISDNで試していますが、ちなみに光だと10倍程度違いました。
http://jsgt.org/ajax/ref/head_test/header/Range/003/sample.htm
高橋 ( 2005年12月02日 23:28 )
光の結果も書いておきました。。。結論は、Rangeより、、、光を使え、ということかも(笑;;;<技術の進歩恐るべし、、、(^^;<とはいえ、光の土俵でも、パフォーマンスに違いがあるという事実を見逃してはいけない、、、<ふりだしへ。
高橋 ( 2005年12月04日 00:01 )
004 | 固定長の名簿データをRangeでリクエスト
http://jsgt.org/ajax/ref/head_test/header/Range/004/sample.htm
を追加。ふと、、、Operaで使えないマイナスはあるにしても、それ以上に、このアプローチのメリットとして、HTTPの仕様通りにやってるわけですから、クライアント側もサーバー側も案外取替えが利きやすいかも、ということがあるかもしれません。<何のために?
高橋 ( 2007年10月24日 22:01 )
今月からgzipで送り出しているせいかも?と思いますが、サンプルのlengthが間違っている?
(←clickで入力欄open)