Partager via


Protocole de notification pour les applications serveur

BITS utilise la propriété BITSServerNotificationType pour déterminer comment BITS envoie le contenu du fichier de chargement à l’application serveur. Si la propriété BITSServerNotificationType a la valeur 1, BITS transmet l’emplacement du fichier de chargement dans un en-tête. Si la propriété BITSServerNotificationType a la valeur 2, BITS transmet le contenu du fichier de chargement dans le corps de la requête.

Pour plus d’informations sur la façon dont BITS gère les erreurs à partir de l’application serveur, consultez Gestion des erreurs d’application serveur.

Envoi de l’emplacement du fichier de chargement dans un en-tête

BITS transmet l’emplacement des fichiers de chargement et de réponse à l’application serveur dans les en-têtes si la propriété BITSServerNotificationType a la valeur 1. L’application serveur ouvre le fichier de chargement, traite les données, puis génère le fichier de réponse. Par défaut, BITS supprime les fichiers de chargement et de réponse du serveur après avoir reçu la réponse de l’application serveur. Pour que BITS copie le fichier de chargement à l’emplacement spécifié par le nom de fichier distant dans le travail, incluez l’en-tête BITS-Copy-File-To-Destination dans votre réponse. Si vous n’incluez pas l’en-tête et que vous souhaitez enregistrer les fichiers de chargement et de réponse, vous devez copier les fichiers de chargement et de réponse dans un nouvel emplacement avant de répondre. Le tableau suivant présente les en-têtes de requête.

En-tête de requête Description
BITS-Original-Request-URL Contient le nom distant spécifié dans le travail.
BITS-Request-DataFile-Name Contient le chemin d’accès complet aux données chargées.
BITS-Response-DataFile-Name Contient le chemin d’accès complet à l’emplacement où BITS s’attend à ce que l’application serveur écrive la réponse.

Le tableau suivant présente les en-têtes de réponse.

En-tête de réponse Description
BITS-Static-Response-URL Optionnel. Contient l’URL absolue (ne spécifiez pas d’URL relative) d’un fichier de données statique à utiliser comme réponse. Le fichier de données statique doit être accessible par le client BITS. Si vous utilisez cet en-tête, ne créez pas le fichier de réponse spécifié dans l’en-tête de requête BITS-Response-DataFile-Name. Notez que BITS ne supprime pas ce fichier pour vous.
BITS-copy-file-to-destination Optionnel. Par défaut, si la propriété BITSServerNotificationType a la valeur 1 ou 2, le serveur BITS ne copie pas le fichier de chargement à l’emplacement spécifié par le nom de fichier distant dans le travail. Pour que BITS copie le fichier à l’emplacement spécifié par le nom de fichier distant dans le travail, envoyez cet en-tête de réponse. Vous pouvez spécifier n’importe quelle valeur ; BITS n’utilise pas la valeur . Notez que les dossiers du chemin d’accès au fichier distant doivent exister.

La requête suivante indique que BITS envoie l’emplacement du fichier de chargement à l’application serveur.

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

Voici la réponse de l’application serveur à BITS : la réponse est placée dans le fichier spécifié par l’en-tête de demande BITS-Response-DataFile-Name.

HTTP/1.1 200 - OK
Content-Length: 0

Envoi du fichier de chargement dans le corps de la demande

BITS envoie le fichier de chargement dans le corps de la requête si la propriété BITSServerNotificationType a la valeur 2. L’envoi du fichier de chargement dans le corps de la demande permet aux scripts et applications existants de fonctionner avec des modifications minimales. Le fichier de chargement et le fichier de réponse sont passés dans la demande et la réponse, respectivement. Le tableau suivant montre l’en-tête de requête.

En-tête de requête Description
BITS-Original-Request-URL Contient le nom distant spécifié dans le travail.

Le tableau suivant présente les en-têtes de réponse.

En-tête de réponse Description
BITS-Static-Response-URL Optionnel. Contient l’URL absolue (ne spécifiez pas d’URL relative) d’un fichier de données statique à utiliser comme réponse. Le fichier de données statique doit être accessible par le client BITS. Si vous utilisez cet en-tête, n’incluez pas la réponse dans le flux. Notez que BITS ne supprime pas ce fichier pour vous.
BITS-copy-file-to-destination Optionnel. Si la propriété BITSServerNotificationType a la valeur 1 ou 2, le serveur BITS ne copie pas le fichier de chargement à l’emplacement spécifié par le nom de fichier distant dans le travail. Pour que BITS copie le fichier à l’emplacement spécifié par le nom de fichier distant, envoyez cet en-tête de réponse. Vous pouvez spécifier n’importe quelle valeur ; BITS n’utilise pas la valeur . Notez que les dossiers du chemin d’accès au fichier distant doivent exister.

La requête suivante montre BITS qui transmet le fichier chargé à l’application serveur dans le corps de la demande.

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

La réponse suivante montre l’application serveur qui transmet les données de réponse à BITS dans le corps de la réponse.

HTTP/1.1 200 - OK
Content-Length: 100

100 bytes of reply data goes here

Gestion des erreurs d’application serveur

Consultez Gestion des erreurs d’application serveur.