サーバー アプリケーションの通知プロトコル
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
サーバー アプリケーション エラーの処理
「サーバー アプリケーション エラーの処理」を参照してください。