Especificar el encabezado de intervalo para FileREST

Algunas operaciones GET de FileREST admiten el uso del encabezado HTTP Range estándar. Muchos clientes HTTP, incluida la biblioteca cliente de .NET, limitan el tamaño del Range encabezado a un entero de 32 bits y, por tanto, su valor se limita a un máximo de 4 GiB. Dado que los archivos pueden tener un tamaño superior a 4 GiB, el Azure Files acepta un encabezado x-ms-range de intervalo personalizado para cualquier operación que tome un encabezado HTTPRange.

Algunos clientes HTTP, incluida la biblioteca de Microsoft Silverlight, limitan totalmente el acceso al encabezado Range. El encabezado x-ms-range también se puede utilizar para evitar estas limitaciones.

Si se especifica el encabezado x-ms-range en una solicitud, el servicio utiliza el intervalo especificado en x-ms-range; si no se especifica, utiliza el intervalo especificado en el encabezado Range.

Formatos de encabezado de intervalo

Azure Files acepta dos intervalos de bytes para los Range encabezados y x-ms-range . El intervalo de bytes debe especificarse en cualquiera de los formatos de encabezado siguientes:

  • bytes=startByte-
  • bytes=startByte-endByte

Formato 1: bytes=startByte-

Este intervalo devolverá los bytes existentes desde el desplazamiento startByte hasta el final del archivo. Por ejemplo, para especificar un intervalo que englobe todos los bytes de un archivo a partir de los primeros 256 bytes, puede pasar cualquiera de los encabezados siguientes:

  • Range: bytes=255-
  • x-ms-range: bytes=255-

El valor del encabezado Content-Length de la respuesta es igual al número de bytes existentes desde el desplazamiento hasta el final del archivo. Si se usa el intervalo del ejemplo anterior para un archivo con una longitud de 1.024 bytes, el valor de Content-Length será 756.

Si el desplazamiento es válido y no supera la longitud total del archivo, la solicitud devolverá un código de estado 206 (Contenido parcial). Si el desplazamiento no es válido y supera la longitud total del archivo, la solicitud devolverá un código de estado 416 (No se puede satisfacer el intervalo solicitado).

Formato 2: bytes=startByte-endByte

Este intervalo devolverá los bytes existentes desde el desplazamiento startByte hasta endByte. Por ejemplo, para especificar un intervalo que englobe los primeros 512 bytes de un archivo, deberá pasar cualquiera de los encabezados siguientes:

  • Range: bytes=0-511

  • x-ms-range: bytes=0-511

El encabezado Content-Length de la respuesta es igual al número de bytes existentes entre cada desplazamiento. El uso del intervalo de ejemplo anterior para un archivo de 1024 bytes de longitud sería Content-Length 512.

Si el desplazamiento es válido y no supera la longitud total del archivo, la solicitud devolverá un código de estado 206 (contenido parcial). Si el desplazamiento no es válido y supera la longitud total del archivo, la solicitud devolverá un código de estado 416 (No se puede satisfacer el intervalo solicitado).

Consulte también

Conceptos de Azure Files