私たちのウェブサイトは、クライアントに PDF ドキュメントを提供しています。PDF は 1 枚あたり 25MB で、線形化されています (高速 Web ビュー)。私たちのサイトは jsp ページを使用してコンテンツを配信しています。最初の get には、次のヘッダーが含まれています。キーヘッダーはaccept-ranges:bytesです。これにより、コンテンツのバイト範囲を送信できることがクライアントに通知されます。
Content-Disposition:inline;filename=List.pdf
Content-Length:27575708
Content-Type:application/pdf
Date:Thu, 16 Feb 2012 03:04:05 GMT
ETag:1.0_2012-02-15
Server:Apache/2.2.3 (CentOS)
accept-ranges:bytes
Chrome が pdf をダウンロードすると、リクエスト内のデータ範囲のサイズがゆっくりと増加します。25MB のファイルの場合、サーバーに対して約 60 の要求が行われます。クライアントに送信する応答ヘッダーは次のとおりです。
Content-Disposition:inline;filename=List.pdf
Content-Length:524288
Content-Type:application/octet-stream
Date:Thu, 16 Feb 2012 03:05:56 GMT
ETag:1.0_2012-02-15
Server:Apache/2.2.3 (CentOS)
accept-ranges:bytes
content-range:bytes 8408895-8933182/27575708
ただし、IE 9 はサイズが 16KB のリクエストのみを送信します。これにより、少量のデータに対して 300 以上の要求が発生し、大きなファイルのダウンロードに非常に時間がかかります。http 応答に欠けているものはありますか?