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 passe 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 où BITS attend 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) vers 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 montre BITS envoyant 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
L’exemple suivant montre 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 requête BITS-Response-DataFile-Name.
HTTP/1.1 200 - OK
Content-Length: 0
Envoi du fichier de chargement dans le corps de la requête
BITS envoie le fichier de chargement dans le corps de la requête si la propriété BITSServerNotificationType est définie sur 2. L’envoi du fichier de chargement dans le corps de la requête permet aux scripts et applications existants de fonctionner avec des modifications minimales. Le fichier de chargement et le fichier de réponse sont transmis respectivement dans la demande et la réponse. 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) vers 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 que BITS transmet le fichier chargé à l’application serveur dans le corps de la requête.
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.