本文介紹OSS返回416錯誤的原因和解決方案。
InvalidRange
The requested range cannot be satisfied
- 問題原因:通過HTTP Range請求獲取大文件的部分內容時,選取了無效的范圍。
- 解決方案:OSS不支持多Range參數,即不支持指定多個范圍。ByteRange指請求資源的范圍,單位為Byte(字節),ByteRange有效區間在0至
object size - 1
的范圍內。假設文件的總大小為2000字節,指定不同的ByteRange,其下載行為說明如下:Range: bytes=0-499
:從文件開始部分到指定字節的內容,即下載1~500字節的內容。Range: bytes=-500
:最后500字節的內容,即下載1501~2000字節的內容。Range: bytes=500-
:從第500字節開始到文件結束部分的內容,即下載501~2000字節的內容。Range: bytes=0-
:從第一個字節開始到最后一個字節的內容,即下載完整的文件1~2000字節的內容。