Menentukan header rentang untuk operasi Blob service

Beberapa operasi GET blob service 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 blob blok dan blob halaman dapat berukuran lebih besar dari 4 GiB, layanan Blob menerima header x-ms-range rentang kustom untuk operasi apa pun yang mengambil header HTTP Range .

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 berdasarkan permintaan, maka layanan menggunakan rentang yang ditentukan oleh x-ms-range; jika tidak, rentang yang ditentukan oleh Range header digunakan.

Catatan

Pustaka Klien Azure Storage secara otomatis menangani pengaturan header rentang yang sesuai pada permintaan saat Anda mengatur Range properti PutPageProperties objek.

Format Header Rentang

Layanan Blob menerima dua rentang byte untuk Range header dan x-ms-range . Rentang byte harus mematuhi salah satu format berikut untuk header:

  • bytes=startByte- untuk permintaan yang menggunakan versi 2011-08-18 atau yang lebih baru

  • bytes=startByte-endByte untuk permintaan yang menggunakan semua versi (2009-04-14 melalui versi terbaru)

Format 1: bytes=startByte-

Format pertama, bytes=startByte-, hanya tersedia untuk permintaan yang menggunakan versi 2011-08-18 atau yang lebih baru, atau layanan emulator penyimpanan di SDK 1.6 atau yang lebih baru. Rentang ini akan mengembalikan byte dari offset startByte hingga akhir blob. Misalnya, untuk menentukan rentang yang mencakup semua byte setelah 256 byte pertama dari blob, 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 blob. Menggunakan rentang contoh di atas untuk blob dengan panjang 1.024 byte, Content-Length adalah 756.

Jika offset valid dan tidak melebihi panjang total blob, permintaan akan mengembalikan kode status 206 (Konten Parsial). Jika offset tidak valid dan melebihi panjang total blob, permintaan akan mengembalikan kode status 416 (Rentang yang Diminta Tidak Terpenuhi).

Format 2: bytes=startByte-endByte

Format kedua, bytes=startByte-endByte, tersedia untuk permintaan yang menggunakan semua versi (2009-04-14 melalui versi terbaru), dan untuk semua versi layanan emulator penyimpanan. Rentang ini akan mengembalikan byte dari offset startByte melalui endByte. Misalnya, untuk menentukan rentang yang mencakup 512 byte pertama dari blob, 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 blob dengan panjang 1.024 byte, Content-Length adalah 512.

Jika offset valid dan tidak melebihi panjang total blob, permintaan akan mengembalikan kode status 206 (Konten Parsial). Jika offset tidak valid dan melebihi panjang total blob, permintaan akan mengembalikan kode status 416 (Rentang yang Diminta Tidak Terpenuhi).

Lihat juga

Konsep Blob Service
Penerapan versi untuk Azure Storage Services