次のエントリ: アラビアータ [diary]
部分get
2007-08-10-1 / カテゴリ: [HTTP] / [permlink]
Range リクエストヘッダを使う
RFC 2068: Hypertext Transfer Protocol - HTTP/1.1
ダウンロード支援アプリの類でのレジューム機能は、この辺使ってるのかな。
先頭から20バイトのみget
21バイト目から40バイト目までget
ラスト20バイト
複数のレンジを同時指定
データが存在するレンジと存在しないレンジが両方含まれる場合
指定レンジがまったく存在しない場合
先頭の 18e と、末尾の 0 は何だ? レスポンスヘッダの Transferr-Encoding: chunked が関係ありそう。Content-Length もないし。
post のレスポンスも可
RFC 2068: Hypertext Transfer Protocol - HTTP/1.1
ダウンロード支援アプリの類でのレジューム機能は、この辺使ってるのかな。
先頭から20バイトのみget
% telnet localhost http GET / HTTP/1.1 Host: localhost Range: bytes=0-19 HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 20 Content-Range: bytes 0-19/1494 Content-Type: text/html <!DOCTYPE html PUBLI
21バイト目から40バイト目までget
GET / HTTP/1.1 Host: localhost Range: bytes=20-39 HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 20 Content-Range: bytes 20-39/1494 Content-Type: text/html C "-//W3C//DTD XHTML
ラスト20バイト
GET / HTTP/1.1 Host: localhost Range: bytes=-20 HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 20 Content-Range: bytes 1474-1493/1494 Content-Type: text/html </body> </html>または
GET / HTTP/1.1 Host: localhost Range: bytes=1474- HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 20 Content-Range: bytes 1474-1493/1494 Content-Type: text/html </body> </html>
複数のレンジを同時指定
GET / HTTP/1.1 Host: localhost Range: bytes=0-20,-20 HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 232 Content-Type: multipart/byteranges; boundary=4374f5c82c93650c --4374f5c82c93650c Content-type: text/html Content-range: bytes 0-20/1494 <!DOCTYPE html PUBLIC --4374f5c82c93650c Content-type: text/html Content-range: bytes 1474-1493/1494 </body> </html> --4374f5c82c93650c--おぉ、マルチパートになってる
データが存在するレンジと存在しないレンジが両方含まれる場合
GET / HTTP/1.1 Host: localhost Range: bytes=1474-1495 HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 20 Content-Range: bytes 1474-1493/1494 Content-Type: text/html </body> </html>はみ出てる部分は無視されるっぽい。
指定レンジがまったく存在しない場合
GET / HTTP/1.1 Host: localhost Range: bytes=1500- HTTP/1.1 416 Requested Range Not Satisfiable Server: Apache/2.0.59 (Win32) PHP/4.4.6 Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-1 18e <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>416 Requested Range Not Satisfiable</title> </head><body> (中略) </body></html> 0416エラーになった。
先頭の 18e と、末尾の 0 は何だ? レスポンスヘッダの Transferr-Encoding: chunked が関係ありそう。Content-Length もないし。
post のレスポンスも可
POST / HTTP/1.1 Host: localhost Range: bytes=0-19 Content-length: 10 abcdefghij HTTP/1.1 206 Partial Content Server: Apache/2.0.59 (Win32) PHP/4.4.6 Accept-Ranges: bytes Content-Length: 20 Content-Range: bytes 0-19/1494 Content-Type: text/html <!DOCTYPE html PUBLI
次のエントリ: アラビアータ [diary]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12