可以在Amazon S3上设置Accept-Ranges标头

时间:2013-07-24 10:24:16

标签: amazon-web-services amazon-s3

我的应用程序具有非常短暂的(5s)访问令牌,偏执客户端,并且他们的一些用户使用移动连接访问S3存储的文件,因此滞后可能非常高。

我注意到亚马逊强行在所有请求上发送了Accept-Ranges标头,我想对有问题的文件禁用它。所以它总是第一次下载整个文件而不是下载它。

我注意到的主要罪犯是Chromes内置的PDF查看器。它将开始查看PDF,获得200响应。然后它将重新连接206标头并开始以两个块的形式下载文件。如果Chrome在访问令牌过期之前启动所有块的下载速度太慢,则会向S3发出垃圾邮件请求(当我关闭窗口时会有600多个请求)。

我已经尝试通过在S3控制台中更改它来设置标头,但是当它说它成功保存时它会立即被清除。我还尝试使用签名请求设置标头,例如,您可以为Content-Disposition设置标头,但S3忽略了传入的标头。

或者是否有其他方法可以强制客户端立即下载整个文件?

1 个答案:

答案 0 :(得分:1)

似乎不可能。让令牌过期后希望它可以处理大多数情况。

但是如果它不能使客户端满意,我会尝试在本地代理并删除所有我不喜欢的标题。遵循本指南https://coderwall.com/p/rlguog