网上说,只有浏览器请求头里是 Accept-Encoding:gzip 就自动开启gzip。我打开一个js文件发现并没有压缩。于是用了阿里的机器人服务,找到了答案。js 必须要用 application/javascript或application/x-javascript。而我是用oss的客户端工具上传的,他会默认识别出文件头是:text/javascript,这就尴尬了。只能手工改成application/javascript,试了下,gzip生效了。

 

 

下面是机器客服的回答

目前 OSS 已经支持对于常见网页静态类文件( HTML 、Javascript 、 XML)返回内容进行 GZIP压缩。

使用方式:

1、控制台操作:

从控制台上传一个文件,使用控制台生成的URL获取该文件,如满足以下条件,默认是压缩返回该文件内容的。

1)、文件大小必须大于或者等于 1KB。

2)、Conetnt-Type必须是“text/cache-manifest” “text/xml” “text/html”“text/plain” “text/css” “application/javascript” “application/x-javascript” “application/rss+xml”中的一个。

 

2、API操作:

以java sdk为例:

1)、multipart方式上传

a)、文件大小必须大于或者等于 1KB。

b)、Conetnt- Type必须是“text/cache-manifest” “text/xml” “text/html”“text/plain” “text/css” “application/javascript” “application /x-javascript” “application/rss+xml”中的一个。

2)、putobject同理

特别注意 : 如果在管理控制台的object中“设置http头”中手动设置“content-Encoding:gzip”。那么object内容需要被gzip压缩后上传上 来,否则部分浏览器会不识别。

 

Comments are closed.

Post Navigation