Ack for Fragment
Utilisez le paquet Ack for Fragment pour accuser réception de la demande fragment du client.
reason-code reason-description
BITS-Packet-Type: Ack
BITS-Session-Id: {guid}
BITS-Received-Content-Range: range
BITS-Reply-URL: url
Content-Length: length
BITS-Error-Code: error-code
BITS-Error-Context: error-context
En-têtes
-
reason-code
-
Remplacez reason-code par un code de raison HTTP. Le tableau suivant présente les codes de motif standard d’une réponse à une demande de fragment . Pour obtenir la liste des codes de raison HTTP, consultez RFC 2616.
Code de la raison Description 200 OK. La demande a abouti. 416 Range-Not-Satisfiable. Le client a envoyé un fragment dont la plage n’est pas contiguë au fragment précédent. -
description de la raison
-
Remplacez reason-description par la description HTTP associée au code de raison. Par exemple, définissez la description de la raison sur OK si le code de raison est 200.
-
BITS-Packet-Type
-
Identifie ce paquet de réponse en tant que paquet Ack.
-
BITS-Received-Content-Range
-
Décalage de base zéro vers l’octet suivant que le serveur s’attend à ce que le client envoie. Par exemple, si le fragment contenait la plage 128 212, vous devez définir la plage sur 213.
-
BITS-Session-Id
-
GUID de chaîne qui identifie la session au client. Remplacez {guid} par l’identificateur de session que le client a envoyé dans le paquet de demande de fragment . Si vous ne reconnaissez pas l’identificateur de session, définissez l’en-tête BITS-Error-Code sur BG_E_SESSION_NOT_FOUND.
-
BITS-Reply-URL
-
Contient l’URL des données de réponse d’un travail chargement-réponse. Incluez cet en-tête dans la réponse finale du fragment une fois le chargement terminé et que vous recevez une réponse de l’application serveur, le cas échéant.
Utilisez l’en-tête Content-Range de la demande fragment pour déterminer si le chargement est terminé. Le chargement est terminé si le décalage de fin de la valeur de plage est égal à la valeur de longueur totale moins un.
Le serveur BITS publie le fichier de chargement dans l’application serveur une fois qu’il a déterminé que le chargement est terminé. L’application serveur traite le fichier et génère la réponse. Le serveur BITS définit la valeur de BITS-Reply-URL sur l’URL du fichier de réponse de l’application serveur.
-
Longueur du contenu
-
Remplacez length par le nombre d’octets inclus dans le corps de la réponse. Content-Length est obligatoire, même si le corps de la réponse n’inclut pas de contenu.
-
BITS-Error-Code
-
Remplacez error-code par un nombre hexadécimal qui représente une valeur HRESULT associée à une erreur côté serveur. N’incluez cet en-tête que si le code de raison n’est pas 200 ou 201.
-
BITS-Error-Context
-
Remplacez error-context par un nombre hexadécimal qui représente le contexte dans lequel l’erreur s’est produite. Spécifiez le nombre hexadécimal pour BG_ERROR_CONTEXT_REMOTE_FILE (0x5) si le serveur a généré l’erreur. Sinon, spécifiez le nombre hexadécimal pour BG_ERROR_CONTEXT_REMOTE_APPLICATION (0x7) si l’erreur a été générée par l’application à laquelle le fichier de chargement est passé. Incluez cet en-tête uniquement si le code de raison n’est pas 200 ou 201.
Notes
Si la session est destinée à un travail de chargement-réponse, il peut y avoir un délai avant que le client reçoive la réponse Ack for Fragment finale. La durée du délai dépend du temps nécessaire à l’application serveur (application dans laquelle le serveur publie le fichier de chargement) pour générer la réponse.