Určení hlavičky rozsahu pro FileREST
Některé operace FileREST GET podporují použití standardní hlavičky HTTP Range
. Mnoho klientů HTTP, včetně klientské knihovny .NET, omezuje velikost Range
hlavičky na 32bitové celé číslo, a proto je její hodnota omezena na maximálně 4 GiB. Vzhledem k tomu, že soubory můžou být větší než 4 GiB, Azure Files přijímá vlastní hlavičku x-ms-range
rozsahu pro jakoukoli operaci, která přijímá hlavičku HTTPRange
.
Někteří klienti HTTP, včetně knihovny Microsoft Silverlight, omezují přístup k Range
hlavičce úplně. Hlavičku x-ms-range
lze použít také k obcházení těchto omezení.
Pokud je hlavička x-ms-range
zadána v požadavku, pak služba použije rozsah určený pomocí x-ms-range
. V opačném případě se použije rozsah určený hlavičkou Range
.
Formáty záhlaví rozsahu
Azure Files přijímá dvě oblasti bajtů pro Range
záhlaví ax-ms-range
. Rozsah bajtů musí splňovat některý z následujících formátů záhlaví:
bytes=startByte-
bytes=startByte-endByte
Formát 1: bytes=startByte-
Tento rozsah vrátí bajty od posunu startByte
do konce souboru. Pokud například chcete zadat oblast zahrnující všechny bajty za prvními 256 bajty souboru, můžete předat některou z následujících hlaviček:
Range: bytes=255-
x-ms-range: bytes=255-
Záhlaví Content-Length
v odpovědi se rovná počtu bajtů od posunu do konce souboru. Použití výše uvedené ukázkové oblasti pro soubor o délce Content-Length
1 024 bajtů by bylo 756.
Pokud je posun platný a nepřekračuje celkovou délku souboru, požadavek vrátí stavový kód 206 (Částečný obsah). Pokud je posun neplatný a překročí celkovou délku souboru, požadavek vrátí stavový kód 416 (Požadovaný rozsah není uspokojivý).
Formát 2: bytes=startByte-endByte
Tento rozsah vrátí bajty od posunu startByte
do endByte
. Pokud například chcete zadat oblast zahrnující prvních 512 bajtů souboru, předali byste některou z následujících hlaviček:
Range: bytes=0-511
x-ms-range: bytes=0-511
Záhlaví Content-Length
odpovědi se rovná počtu bajtů mezi jednotlivými posuny. Použití výše uvedené ukázkové oblasti pro soubor o délce Content-Length
1 024 bajtů by bylo 512.
Pokud je posun platný a nepřekračuje celkovou délku souboru, požadavek vrátí stavový kód 206 (Částečný obsah). Pokud je posun neplatný a překročí celkovou délku souboru, požadavek vrátí stavový kód 416 (Požadovaný rozsah není uspokojivý).