禁用 Google Cloud Bucket 上的 Range 标头

禁用 Google Cloud Bucket 上的 Range 标头

我正在提供本质上是 gifv 文件的服务。我注意到正在发出多个请求来分块检索视频。

我预感如果一次性提供视频而不是发出多个请求,用户的性能会更好。

我认为浏览器才是真正控制交易的人,但不幸的是,我还没有找到确切的路径或原因(可能是自动播放)。为了验证我的假设,最好自己在服务器上禁用范围下载。

答案1

虽然不支持“禁用范围请求”功能,但您可以通过弄乱编码来强制此行为。

GCS 支持范围标头,但使用 gzip 编码上传的文件比较特殊(如此处所述:https://cloud.google.com/storage/docs/transcoding#range)。如果文件使用 gzip 编码上传(并且“contentEncoding”属性指示了这一点),并且客户端尝试下载文件而没有指定他们接受该内容编码,则 GCS 将忽略 Range 标头并提供解码后的对象。

下一个问题是大多数网络浏览器都接受 gzip 编码。您需要禁用该功能才能测试您的理论。尝试获取您选择的浏览器的扩展程序,以便您禁用 accept-encoding 标头。

相关内容