Menentukan header rentang untuk FileREST
Beberapa operasi FileREST GET mendukung penggunaan header HTTP Range
standar. Banyak klien HTTP, termasuk pustaka klien .NET, membatasi ukuran header ke bilangan Range
bulat 32-bit, dan dengan demikian nilainya dibatasi hingga maksimum 4 GiB. Karena file dapat berukuran lebih besar dari 4 GiB, Azure Files menerima header x-ms-range
rentang kustom untuk operasi apa pun yang mengambil header HTTPRange
.
Beberapa klien HTTP, termasuk pustaka Microsoft Silverlight, membatasi akses ke Range
header sama sekali. Header x-ms-range
juga dapat digunakan untuk menghindari batasan ini.
x-ms-range
Jika header ditentukan pada permintaan, maka layanan menggunakan rentang yang ditentukan oleh x-ms-range
; jika tidak, rentang yang ditentukan oleh Range
header digunakan.
Format header rentang
Azure Files menerima dua rentang byte untuk Range
header dan x-ms-range
. Rentang byte harus mematuhi salah satu format berikut untuk header:
bytes=startByte-
bytes=startByte-endByte
Format 1: bytes=startByte-
Rentang ini akan mengembalikan byte dari offset startByte
hingga akhir file. Misalnya, untuk menentukan rentang yang mencakup semua byte setelah 256 byte pertama file, Anda dapat meneruskan salah satu header berikut:
Range: bytes=255-
x-ms-range: bytes=255-
Header Content-Length
dalam respons sama dengan jumlah byte dari offset hingga akhir file. Menggunakan rentang contoh di atas untuk file dengan panjang 1.024 byte, Content-Length
adalah 756.
Jika offset valid dan tidak melebihi total panjang file, permintaan akan mengembalikan kode status 206 (Konten Parsial). Jika offset tidak valid dan melebihi total panjang file, permintaan akan mengembalikan kode status 416 (Rentang yang Diminta Tidak Terpenuhi).
Format 2: bytes=startByte-endByte
Rentang ini akan mengembalikan byte dari offset startByte
melalui endByte
. Misalnya, untuk menentukan rentang yang mencakup 512 byte pertama file, Anda akan meneruskan salah satu header berikut:
Range: bytes=0-511
x-ms-range: bytes=0-511
Header Content-Length
dalam respons sama dengan jumlah byte di antara setiap offset. Menggunakan rentang contoh di atas untuk file dengan panjang 1.024 byte, Content-Length
adalah 512.
Jika offset valid dan tidak melebihi total panjang file, permintaan akan mengembalikan kode status 206 (Konten Parsial). Jika offset tidak valid dan melebihi total panjang file, permintaan akan mengembalikan kode status 416 (Rentang yang Diminta Tidak Terpenuhi).