Partager via


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.

Voir aussi

Créer une session

Fragment