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は、失われます。これは、サーバーが単にそれをサポートしていないことを意味します。