TIdHTTPServerコンポーネントを使用して、ソフトウェアの更新サーバーを作成しようとしています。現在、利用可能なアップデートとそのファイルバージョンなどをリストしたXMLファイルを提供しています。クライアントプログラムがアップデートされたバージョンを見つけると、BITSを使用してダウンロードを開始する必要があります。
ここで問題が発生します。プログラムはXMLファイルを要求しており、利用可能な更新があることを確認しています。次に、ダウンロードするBITSジョブを作成しますが、BITSはダウンロードが失敗したことを報告し続けます。同じURLとIE/Firefox/Chromeを使用してファイルをダウンロードできます。
だから私の質問:
TIdHTTPServerはBITSと互換性がありますか?
ビットが機能するためのこれらのダウンロード要件があることを発見したので、これを尋ねます。
BITSダウンロードのHTTP要件
BITSはHTTPおよびHTTPSのダウンロードとアップロードをサポートし、サーバーがHTTP/1.1プロトコルをサポートしている必要があります。ダウンロードの場合、HTTPサーバーのHeadメソッドはファイルサイズを返す必要があり、そのGetメソッドはContent-RangeヘッダーとContent-Lengthヘッダーをサポートする必要があります。その結果、ASP、ISAPI、またはCGIスクリプトがContent-RangeヘッダーとContent-Lengthヘッダーをサポートしていない限り、BITSは静的ファイルコンテンツのみを転送し、動的コンテンツを転送しようとするとエラーを生成します。
BITSは、HeadメソッドとGetメソッドの要件を満たしている限り、HTTP/1.0サーバーを使用できます。
ファイルのダウンロード範囲をサポートするには、サーバーが次の要件をサポートしている必要があります。
MIMEヘッダーに、標準のContent-RangeヘッダーとContent-Typeヘッダーに加えて、最大180バイトの他のヘッダーを含めることができます。HTTPヘッダーと最初の境界文字列の間に最大2つのCR/LFを許可します。