2012-04-26 4 views
2

リモートファイルのサイズをダウンロードすることなく知ることができるようにしたい。 "Content-length"ヘッダー値を使用する解決策がいくつかありますが、一部のリンクではこのヘッダーがありません。その場合、解決策はファイル全体をダウンロードすることですが、たとえばファイルが1Gbより大きい場合はどうなりますか。どのように知っているコンテンツの長さ

ダウンロードマネージャがリモートファイルのサイズを調べるために使用する方法は何ですか?

あなたはどの言語でも解決策があれば、私はそれを取るでしょう。ありがとうございました。

答えて

2

Content-lengthは、HTTPプロトコルでリソースの長さを指定するオプションヘッダです。ここで

は、その上にいくつかの詳細は以下のとおりです。HTTP/1.1: Header Field Definitions - 14.13 Content-Length

は基本的に、これは注目すべき部分である:これはでない限り

アプリケーションは、 メッセージボディの転送長さを示すために、このフィールドを使用すべきですセクション の規則で禁止されている4.4。

また、セクション4.4 Message Lengthもお手伝いします。

「Content-length」ヘッダーを使用するソリューションがいくつかありますが、それは存在しないリンクがいくつかありますが です。

サーバーがContent-Lengthを送信しない場合は、確実にサイズを知る方法がありません(4.4節で説明した特別な場合を除く)。そのため、ダウンロードマネージャは、事前長さを知ることができません、とサーバがそれにデータを与えて停止するまで、それを取得、すべてをダウンロードします。

関連する問題