Delen via


De bereikheader voor FileREST opgeven

Sommige FileREST GET-bewerkingen ondersteunen het gebruik van de standaard HTTP-header Range . Veel HTTP-clients, waaronder de .NET-clientbibliotheek, beperken de grootte van de Range header tot een geheel getal van 32 bits, waardoor de waarde ervan is beperkt tot een maximum van 4 GiB. Omdat bestanden groter kunnen zijn dan 4 GiB, accepteert de Azure Files een aangepaste bereikheader x-ms-range voor elke bewerking waarvoor een HTTP-header Range wordt gebruikt.

Sommige HTTP-clients, waaronder de Microsoft Silverlight-bibliotheek, beperken de toegang tot de Range header helemaal. De x-ms-range header kan ook worden gebruikt om deze beperkingen te omzeilen.

Als de x-ms-range header is opgegeven voor een aanvraag, gebruikt de service het bereik dat is opgegeven door x-ms-range; anders wordt het bereik gebruikt dat is opgegeven door de Range header.

Indelingen voor bereikheaders

Azure Files accepteert twee bytebereiken voor de Range kopteksten enx-ms-range. Het bytebereik moet voldoen aan een van de volgende indelingen voor de headers:

  • bytes=startByte-
  • bytes=startByte-endByte

Notatie 1: bytes=startByte-

Dit bereik retourneert bytes van de offset startByte tot het einde van het bestand. Als u bijvoorbeeld een bereik wilt opgeven dat alle bytes na de eerste 256 bytes van een bestand omvat, kunt u een van de volgende headers doorgeven:

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

De Content-Length header in het antwoord is gelijk aan het aantal bytes vanaf de offset tot het einde van het bestand. Als u het bovenstaande voorbeeldbereik gebruikt voor een bestand met een lengte van 1024 bytes, Content-Length is dat 756.

Als de offset geldig is en de totale lengte van het bestand niet overschrijdt, retourneert de aanvraag de statuscode 206 (Gedeeltelijke inhoud). Als de offset ongeldig is en de totale lengte van het bestand overschrijdt, retourneert de aanvraag statuscode 416 (Aangevraagd bereik niet satisfieerbaar).

Indeling 2: bytes=startByte-endByte

Dit bereik retourneert bytes van de offset startByte tot en met endByte. Als u bijvoorbeeld een bereik wilt opgeven dat de eerste 512 bytes van een bestand omvat, geeft u een van de volgende headers door:

  • Range: bytes=0-511

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

De Content-Length header in het antwoord is gelijk aan het aantal bytes tussen elke offset. Als u het bovenstaande voorbeeldbereik gebruikt voor een bestand met een lengte van 1024 bytes, Content-Length is dat 512.

Als de offset geldig is en de totale lengte van het bestand niet overschrijdt, retourneert de aanvraag de statuscode 206 (Gedeeltelijke inhoud). Als de offset ongeldig is en de totale lengte van het bestand overschrijdt, retourneert de aanvraag statuscode 416 (Aangevraagd bereik niet satisfieerbaar).

Zie ook

Azure Files concepten