Google 忽略 "Range" header 用于 HTTP GET?

Google ignores "Range" header for HTTP GET?

我正在使用 Google 云存储 XML API 下载 objects。与在标准 HTTP 协议和 as mentioned in Google's docs 中一样,我可以指定 Range header 来下载特定范围的 object。在尝试了几个 objects(文件)之后,API 总是 returns 完整的数据,我试图在单个请求中避免这种情况。我在 Node.js 上使用请求模块(作为 bluebird 的承诺),所以它看起来像这样:

var url = 'https://{bucket}.storage.googleapis.com/{object}'
        .replace( '{bucket}', this._bucket )
        .replace( '{object}', file.name );

var bearer = 'Bearer {t}'.replace( '{t}', this._token );
return request.getAsync( { url: url,
            headers: {
                'Authorization': bearer,
                'Range': 'bytes=0-100',
            }
        })

响应数据return成功,但不在我指定的范围内。它只是 return 作为所有数据的完整块。我在请求配置中遗漏了什么吗?

我担心文件的内容长度会超过几 kb,在这种情况下会溢出内存。

jterrace 所述,服务器忽略了我的 Ragne 请求,因为我提取的 object 小于 HTTP 规范阈值。在较大的 objects(例如 3mb)上测试它时,它在请求文件的某些部分时工作正常。返回的内容大小显示在content-length header.