銷售: 1-800-867-1380

指定 Blob 服務作業的範圍標頭

更新日期: 2013年11月

有數項 Blob 服務 GET 作業支援使用標準 HTTP Range 標頭。許多 HTTP 用戶端 (包含 .NET 用戶端程式庫) 將 Range 標頭大小限制為 32 位元整數,因此其限制最大值為 4 GB。由於區塊 Blob 和分頁 Blob 的大小都可大於 4 GB,針對採用 HTTP x-ms-range 標頭的任何作業,Blob 服務可接受自訂範圍標頭 Range

有些 HTTP 用戶端 (包括 Microsoft Silverlight 程式庫) 會限制存取整個 Range 標頭。x-ms-range 標頭也可以用來規避這些限制。

如果在要求上指定 x-ms-range 標頭,服務會使用 x-ms-range 指定的範圍,否則就會使用 Range 標頭指定的範圍。

note附註
當您設定 PutPageProperties 物件的 Range 屬性時,Windows Azure 儲存體用戶端程式庫會自動處理在要求上設定適當範圍標頭的作業。

對於 Rangex-ms-range 標頭而言,Blob 服務可接受兩個位元組範圍。位元組範圍必須遵守下列任一標頭格式:

  • bytes=startByte- 適用於使用 2011-08-18 版或更新版本的要求

  • 要求的bytes=startByte-endByte 適用於使用所有版本 (2009-04-14 版到最新版本) 的要求

第一種格式 bytes=startByte- 僅適用於使用 2011-08-18 版或更新版本的要求,或是 SDK 1.6 版或更新版本中的儲存體模擬器服務。此範圍將會傳回從位移 startByte 到 Blob 結尾的位元組。例如,指定的範圍若要包含 Blob 前 256 個位元組之後的所有位元組,您可以在下列任一標頭中傳遞:

  • Range: bytes=255-

  • x-ms-range: bytes=255-

回應中的 Content-Length 標頭等於從位移到 Blob 結尾的位元組數。如果針對長度為 1,024 個位元組的 Blob,使用上述範例範圍,則 Content-Length 是 756。

如果位移有效,而且未超過 Blob 的總長度,要求將會傳回狀態碼 206 (部份內容)。如果位移無效,而且超過 Blob 的總長度,要求將會傳回狀態碼 416 (無法滿足的要求範圍)。

第二種格式 bytes=startByte-endByte 適用於使用所有版本 (2009-04-14 版到最新版本) 的要求,以及所有版本的儲存體模擬器服務。此範圍將會傳回從位移 startByteendByte 的位元組。例如,指定的範圍若要包含 Blob 的前 512 個位元組,您可以在下列任一標頭中傳遞:

  • Range: bytes=0-511

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

回應中的 Content-Length 標頭等於各位移之間的位元組數。如果針對長度為 1,024 個位元組的 Blob,使用上述範例範圍,則 Content-Length 是 512。

如果位移有效,而且未超過 Blob 的總長度,要求將會傳回狀態碼 206 (部份內容)。如果位移無效,而且超過 Blob 的總長度,要求將會傳回狀態碼 416 (無法滿足的要求範圍)。

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2014 Microsoft