次の方法で共有


サーバー アプリケーションの通知プロトコル

BITS では、BITSServerNotificationType プロパティを使用して、BITS がアップロード ファイルの内容をサーバー アプリケーションに送信する方法を決定します。 BITSServerNotificationType プロパティが 1 に設定されている場合、BITS はヘッダー内のアップロード ファイルの場所を渡します。 BITSServerNotificationType プロパティが 2 に設定されている場合、BITS は、要求の本文でアップロード ファイルの内容を渡します。

BITS がサーバー アプリケーションからのエラーを処理する方法の詳細については、「サーバー アプリケーション エラー処理する」を参照してください。

ヘッダー内のアップロード ファイルの場所の送信

BITS は、BITSServerNotificationType プロパティが 1 に設定されている場合、アップロード ファイルと応答ファイルの場所をヘッダー内のサーバー アプリケーションに渡します。 サーバー アプリケーションがアップロード ファイルを開き、データを処理して、応答ファイルを生成します。 既定では、BITS はサーバー アプリケーションから応答を受信した後、サーバーからアップロード ファイルと応答ファイルを削除します。 BITS でアップロード ファイルをジョブ内のリモート ファイル名で指定された場所にコピーするには、BITS-Copy-File-To-Destination ヘッダーを応答に含めます。 ヘッダーを含めず、アップロードファイルと返信ファイルを保存する場合は、応答する前にアップロードファイルと返信ファイルを新しい場所にコピーする必要があります。 次の表に、要求ヘッダーを示します。

要求ヘッダー 形容
BITS-Original-Request-URL ジョブで指定されたリモート名を格納します。
BITS-Request-DataFile-Name アップロードされたデータへの完全なパスが含まれています。
BITS-Response-DataFile-Name BITS がサーバー アプリケーションが応答を書き込む必要がある場所への完全なパスを格納します。

次の表に、応答ヘッダーを示します。

応答ヘッダー 形容
BITS-Static-Response-URL 随意。 応答として使用する静的データ ファイルへの絶対 URL (相対 URL を指定しない) が含まれます。 静的データ ファイルには、BITS クライアントからアクセスできる必要があります。 このヘッダーを使用する場合は、BITS-Response-DataFile-Name 要求ヘッダーで指定された応答ファイルを作成しないでください。 BITS では、このファイルは削除されないことに注意してください。
BITS-Copy-File-To-Destination 随意。 既定では、BITSServerNotificationType プロパティが 1 または 2 に設定されている場合、BITS サーバーはジョブ内のリモート ファイル名で指定された場所にアップロード ファイルをコピーしません。 BITS でジョブ内のリモート ファイル名で指定された場所にファイルをコピーするには、この応答ヘッダーを送信します。 任意の値を指定できます。BITS は値を使用しません。 リモート ファイル パス内のフォルダーが存在する必要があることに注意してください。

次の要求は、サーバー アプリケーションにアップロード ファイルの場所を送信する BITS を示しています。

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
BITS-Request-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\request
BITS-Response-DataFile-Name: c:\physical-path\BITS-Sessions\{5e53c221-f2d6-4bf2-
b994-1dc43ceaca8d}\response
Content-Length: 0

次に、BITS に対するサーバー アプリケーションの応答を示します。応答は、BITS-Response-DataFile-Name 要求ヘッダーで指定されたファイルに配置されます。

HTTP/1.1 200 - OK
Content-Length: 0

要求の本文でアップロード ファイルを送信する

BITS は、BITSServerNotificationType プロパティが 2 に設定されている場合、要求の本文でアップロード ファイルを送信します。 要求の本文でアップロード ファイルを送信すると、既存のスクリプトとアプリケーションは最小限の変更で動作します。 アップロード ファイルと応答ファイルは、それぞれ要求と応答で渡されます。 次の表に、要求ヘッダーを示します。

要求ヘッダー 形容
BITS-Original-Request-URL ジョブで指定されたリモート名を格納します。

次の表に、応答ヘッダーを示します。

応答ヘッダー 形容
BITS-Static-Response-URL 随意。 応答として使用する静的データ ファイルへの絶対 URL (相対 URL を指定しない) が含まれます。 静的データ ファイルには、BITS クライアントからアクセスできる必要があります。 このヘッダーを使用する場合は、ストリームに応答を含めないでください。 BITS では、このファイルは削除されないことに注意してください。
BITS-Copy-File-To-Destination 随意。 BITSServerNotificationType プロパティが 1 または 2 に設定されている場合、BITS サーバーは、ジョブ内のリモート ファイル名で指定された場所にアップロード ファイルをコピーしません。 BITS でリモート ファイル名で指定された場所にファイルをコピーするには、この応答ヘッダーを送信します。 任意の値を指定できます。BITS は値を使用しません。 リモート ファイル パス内のフォルダーが存在する必要があることに注意してください。

次の要求は、アップロードされたファイルを要求の本文でサーバー アプリケーションに渡す BITS を示しています。

POST https://myserver/myvdir/handle_upload.asp?ACCOUNT=873112 HTTP/1.1
Host: myserver
BITS-Original-Request-URL: https://front-end-server/vdir
Content-Length: 80000

80000 bytes of upload data goes here

次の応答は、応答の本文で BITS に応答データを渡すサーバー アプリケーションを示しています。

HTTP/1.1 200 - OK
Content-Length: 100

100 bytes of reply data goes here

サーバー アプリケーション エラーの処理

サーバー アプリケーション エラーの処理 を参照してください。