3

WebブラウザがダウンロードできるファイルをJavaサーバーが転送できるようにしようとしています。

ただし、ファイル転送を一時停止して再開し、ダウンロードを最初からやり直さないようにする場合は、ブラウザーが必要です。

この問題を修正するためのサーバー側のJavaコードを知っている人はいますか?

4

1 に答える 1

5

再開可能なダウンロードをサポートするには、次の2つの部分があります。

  • 応答は、Accept-RangesヘッダーとContent-Rangeヘッダーを返す必要があります
  • クライアントが再開する必要がある場所を知るために、HTTP範囲ヘッダーとIf-Rangeを処理できるコードを作成する必要があります

静的リソースを提供している場合、最善の策は、Apacheなどのプロキシサーバーを使用してダウンロードを処理することです。プロキシサーバーがオプションでない場合は、アプリサーバーにバンドルされているサーブレットを見つけることができます。たとえば、TomcatにはDefaultServletがあります。このオプションの欠点は、アプリケーションとアプリケーションサーバーの間に強い依存関係が生じることです。これは受け入れられない場合があります。

自分でロールすることにした場合は、ApacheのHTTPコンポーネントを確認することをお勧めします。これは、HTTPリクエストとレスポンスの操作をはるかに簡単にする優れたAPIです。

于 2011-02-16T06:09:31.103 に答える