このセクションでは、BITS のアップロードジョブとアップロード/応答ジョブの種類のネットワーク プロトコルについて説明します。 BITS アップロード プロトコルは HTTP 1.1 の上に階層化され、既存の HTTP ヘッダーの多くを使用し、新しいヘッダーを定義します。 BITS アップロード プロトコルでは、セッションごとに 1 つのアップロード ファイルがサポートされます。
BITS では、パケットを使用してクライアント要求とサーバーの応答を記述します。 BITS-Packet-Type ヘッダーは、送信されるパケットの種類を指定します。 各パケットには、特定のヘッダーが含まれています。 BITS では、BITS_POST動詞を使用して BITS アップロード パケットを識別します。 応答パケットは常に、受信確認を表す Ack パケットの種類を使用します。 Ack パケットは、前の要求のコンテキストで送信されます。未処理の要求は一度に 1 つだけ存在できます。
アップロード/応答ジョブの場合、BITS はこのプロトコルを使用してファイルをアップロードしますが、このプロトコルを使用してクライアントに応答を送信しません。 代わりに、BITS サーバーは応答ファイルの場所をクライアントに送信し、クライアントは BITS ダウンロード ジョブを作成して応答ファイルをダウンロードします。
アップロード プロトコルを使用して、BITS クライアントまたはサーバー ソフトウェアを独自の実装に置き換えます。 BITS クライアントによって送信される要求パケットの一覧については、BITS 要求パケット を参照してください。 BITS サーバーによって送信される応答パケットの一覧については、「BITS 応答パケット」を参照してください。
クライアントは、BITS サーバーからのエラーまたは予期しないパケットに応答する方法を決定します。 サーバーが予期しないパケットを受信した場合、サーバーは 400 (無効な要求) リターン コードを含む Ack パケットを送信する必要があります。