次の方法で共有


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

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

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

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

BITSServerNotificationType プロパティが 1 に設定されている場合、BITS はアップロード ファイルと応答ファイルの場所をヘッダー内のサーバー アプリケーションに渡します。 サーバー アプリケーションはアップロード ファイルを開き、データを処理して、応答ファイルを生成します。 既定では、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

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

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

要求ヘッダー 説明
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

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

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