ヘッダー内のダウンロードするように要求されたファイル (HTTP) コンテンツの長さが、ダウンロード時の実際のファイルの長さ (サイズ) と等しくないという経験はありますか?
4607 次
3 に答える
1
コンテンツ長ヘッダーは、HTTP 応答の本文のバイト数です。
これは、すべてのエンコーディング ステージの後に計算されます。ほとんどのエンコーディング メソッドは長さを変更します。
- 圧縮すると縮みます
- Base 64 はそれを増やします。
コンテンツの長さヘッダーは、ソケットから読み取る生データの量に関してのみ役立ちます。デコードされたコンテンツを保持するためにバッファを割り当てることは役に立ちません。
(データをプルダウンするためのコードをいくつか書きましたが、読み取りごとに大きな割り当てを行うのではなく、バッファーを段階的に拡張する応答ストリームを読み取る必要があります。)
于 2010-04-17T08:50:02.467 に答える
0
あなたの質問の言い方は誤解を招きます。
HTTP 応答が content-length ヘッダーを運ぶ場合、それはメッセージの長さです。限目。まあ、HEAD 応答を除いて。
サーバーがそれ以上送信する場合、サーバーは壊れています。
于 2010-04-17T09:27:17.650 に答える