Range: bytes=n-m
ヘッダーをHTTPサーバーに送信すると、ファイルの一部をダウンロードできることを学びました。
つまり、正確なファイルの長さがわかっている場合にのみ、複数のスレッドを使用してダウンロードできるということですか?私が混乱しているのは、Content-Length
事前に入手できない場合、どうすればマルチスレッドプログラムを作成できるかということです。
Range: bytes=n-m
ヘッダーをHTTPサーバーに送信すると、ファイルの一部をダウンロードできることを学びました。
つまり、正確なファイルの長さがわかっている場合にのみ、複数のスレッドを使用してダウンロードできるということですか?私が混乱しているのは、Content-Length
事前に入手できない場合、どうすればマルチスレッドプログラムを作成できるかということです。
リクエストの送信Range
は、そのファイルへの完全なリクエスト(ヘッダーを確認するだけの場合はHEADにすることができます)Accept-Ranges
に対するレスポンスが、値がbytes
とContent-Range
またはContent-Length
ヘッダーの両方にコンテンツの長さに関する情報が含まれるレスポンスヘッダーを返す場合にのみ可能です(またETag
、および/またはLast-Modified
ファイルを一意に識別できるようにするため)。
応答ヘッダーがまったくない場合Accept-Ranges
は、失われます。これは、サーバーが単にそれをサポートしていないことを意味します。