刚开始使用谷歌云存储。我在从它接收 gzip 文件时遇到问题。存储的文件经过 gzip 压缩,但会根据要求进行解压缩。我已阅读所有文档、论坛并尝试了数十种不同的标头组合,但在浏览器中获取的文件仍然没有压缩。有人能指出我做错了什么吗?
关于 gzip、标头、转码的文章 https://cloud.google.com/storage/docs/transcoding
我使用此命令将文件移动到存储中
gsutil -h "Cache-Control:public,max-age=10,no-transform" cp -Z bundle.js gs://lol-champs.tomdid.com
文件在上传文件之前被 gzip 压缩,一旦它被存储,大小会减少 5 倍,我已经在控制台中签入。
浏览器请求标头
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,lt;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Host:lol-champs.tomdid.com
Pragma:no-cache
Referer:http://lol-champs.tomdid.com/
响应标头
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:Content-Encoding
Access-Control-Expose-Headers:Content-Length
Access-Control-Expose-Headers:Content-Type
Cache-Control:public,max-age=10,no-transform
Content-Language:en
Content-Type:application/javascript
Date:Sat, 15 Oct 2016 21:40:14 GMT
ETag:"8505f976c2ffbf1e69c3ee9fdf2f04d5"
Expires:Sat, 15 Oct 2016 21:40:24 GMT
Last-Modified:Sat, 15 Oct 2016 21:40:09 GMT
Server:UploadServer
Transfer-Encoding:chunked
x-goog-generation:1476567609681000
x-goog-hash:crc32c=Gik6aA==
x-goog-hash:md5=hQX5dsL/vx5pw+6f3y8E1Q==
x-goog-metageneration:1
x-goog-storage-class:STANDARD
x-goog-stored-content-encoding:gzip
x-goog-stored-content-length:290207
因此,谷歌设置了自定义标头,内容在存储中被压缩,但它向我发送解压缩的响应,并且没有 Content-Encoding 标头。
不确定我上传文件的方式是错误的,还是缺少一些标题。失落的感觉。链接到文件-> http://lolchamps.tomdid.com/bundle.js
任何帮助将非常感激。
更新:发现了一些有趣的东西,如果我使用谷歌 URL 请求文件 - https://storage.googleapis.com/lolchamps.tomdid.com/bundle.js它返回 gzip 文件,如果通过我的域请求相同的文件它返回解压版。为什么???我闻到了黑魔法。