我已将javascript文件上传到aws s3存储桶并进行gzip压缩,我已设置以下元数据。我也把文件公之于众。
Content-Type: application/x-javascript
已经存在一个元数据
This webpage is not available ERR_CONTENT_DECODING_FAILED
从浏览器访问
时出错https://s3-url.amazonaws.com/bucket-name/assets/js/angular.js
像这样访问网址
pass null
答案 0 :(得分:3)
设置Content-Encoding: gzip
并未实际更改对象的内容编码。这用于描述您已应用的编码。
设置它而不实际对对象应用gzip压缩会导致错误,例如您遇到的错误。这是浏览器抱怨你"声称" (通过标题)内容实际上是用gzip编码的,实际上它并不是。
同样,在不设置标题的情况下上传gzip压缩对象将导致无法下载,因为接收用户代理(浏览器)无法知道如何解码内容,或者甚至应该尝试。
请注意,当您使用gzip -9 somefile.js
在计算机上对文件进行gzip更改时,其名称会更改为将.gz
添加到末尾,并将其名称保留为somefile.js.gz
。在上传之前删除.gz
。它不是必需的,当然你不想改变你的链接。
上面的-9
指定gzip应该使用最大压缩,这可能就是你想要的。