Ack for Fragment
Use el paquete Ack for Fragment para confirmar la solicitud de fragmento del cliente.
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
encabezados
-
código de motivo
-
Reemplace reason-code por un código de motivo HTTP. En la tabla siguiente se muestran los códigos de motivo típicos de una respuesta a una solicitud fragment . Para obtener una lista de códigos de motivo HTTP, consulte RFC 2616.
Código del motivo Descripción 200 Aceptar. La solicitud fue correcta. 416 Range-Not-Satisfiable. El cliente envió un fragmento cuyo intervalo no es contiguo con el fragmento anterior. -
reason-description
-
Reemplace reason-description por la descripción HTTP asociada al código de motivo. Por ejemplo, establezca reason-description en Ok si el código de motivo es 200.
-
BITS-Packet-Type
-
Identifica este paquete de respuesta como un paquete Ack.
-
Intervalo de contenido recibido de BITS
-
Desplazamiento de base cero al siguiente byte que el servidor espera que el cliente envíe. Por ejemplo, si el fragmento contenía el intervalo 128 212, establecería el intervalo en 213.
-
BITS-Session-Id
-
GUID de cadena que identifica la sesión al cliente. Reemplace {guid} por el identificador de sesión que el cliente envió en el paquete de solicitud de fragmento . Si no reconoce el identificador de sesión, establezca el encabezado BITS-Error-Code en BG_E_SESSION_NOT_FOUND.
-
BITS-Reply-URL
-
Contiene la dirección URL de los datos de respuesta de un trabajo de carga-respuesta. Incluya este encabezado en la respuesta del fragmento final una vez completada la carga y recibirá una respuesta de la aplicación de servidor, si procede.
Use el encabezado Content-Range de la solicitud Fragment para determinar si la carga se ha completado. La carga se completa si el desplazamiento final del valor del intervalo es igual al valor de longitud total menos uno.
El servidor BITS publica el archivo de carga en la aplicación de servidor una vez que determina que la carga se ha completado. La aplicación de servidor procesa el archivo y genera la respuesta. El servidor BITS establece el valor de BITS-Reply-URL en la dirección URL del archivo de respuesta de la aplicación de servidor.
-
Longitud del contenido
-
Reemplace length por el número de bytes incluidos en el cuerpo de la respuesta. Se requiere content-Length, incluso si el cuerpo de la respuesta no incluye contenido.
-
BITS-Error-Code
-
Reemplace el código de error por un número hexadecimal que representa un valor HRESULT asociado a un error del lado servidor. Incluya solo este encabezado si el código de motivo no es 200 o 201.
-
BITS-Error-Context
-
Reemplace error-context por un número hexadecimal que representa el contexto en el que se produjo el error. Especifique el número hexadecimal para BG_ERROR_CONTEXT_REMOTE_FILE (0x5) si el servidor generó el error. De lo contrario, especifique el número hexadecimal para BG_ERROR_CONTEXT_REMOTE_APPLICATION (0x7) si la aplicación ha generado el error al que se pasa el archivo de carga. Incluya este encabezado solo si el código de motivo no es 200 o 201.
Comentarios
Si la sesión es para un trabajo de carga-respuesta, puede haber un retraso antes de que el cliente reciba la respuesta final de Ack for Fragment . La duración del retraso depende de la cantidad de tiempo que tarda la aplicación de servidor (aplicación a la que el servidor publica el archivo de carga) para generar la respuesta.