谷歌云端存储gzip压缩,标头错误

时间:2016-10-15 22:01:37

标签: gzip google-cloud-storage response-headers content-encoding

刚开始使用谷歌云存储。我从它接收gzip文件时遇到问题。存储的文件是gzip'但它会根据请求解压缩。我已经阅读了所有文档,论坛并尝试了几十种不同的标题组合,并且浏览器中仍然提取的文件未压缩。有人可以指出我做错了吗?

关于gzip,标头,转码的文章 https://cloud.google.com/storage/docs/transcoding

我使用此命令将文件移动到存储

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/

文件在上传文件之前被gziped,一旦存储就减小了5倍,我已经在控制台中检查了。

浏览器请求标题

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

回复标题

<tr>

因此谷歌设置了自定义标题,内容在存储中被gziped,但它会向我发送回复解压缩并且没有Content-Encoding标头。

不确定我上传文件的方式是错误的,还是缺少一些标题。失落的感觉。链接到文件 - &gt; http://lolchamps.tomdid.com/bundle.js

非常感谢任何帮助。

更新: 发现一些有趣的东西,如果我用googles请求文件URL- https://storage.googleapis.com/lolchamps.tomdid.com/bundle.js它返回gziped文件,如果通过我的域请求相同的文件它返回解压缩版本。为什么???我闻到了黑暗魔法。

1 个答案:

答案 0 :(得分:0)

我似乎无法重现这个......?

$ curl -v http://lolchamps.tomdid.com/bundle.js
[...]
< Content-Length: 290667
< Content-Encoding: gzip
[...]

修改:与Chrome相同,完整请求如下:

GET /bundle.js HTTP/1.1
Host: lolchamps.tomdid.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36
Accept: */*
DNT: 1
Referer: http://lolchamps.tomdid.com/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,de;q=0.6,de-DE;q=0.4

回复:

HTTP/1.1 200 OK
Date: Tue, 18 Oct 2016 17:27:43 GMT
Cache-Control: no-transform
Expires: Wed, 18 Oct 2017 17:27:43 GMT
Last-Modified: Sun, 16 Oct 2016 22:53:39 GMT
ETag: "7c79e6fd21a30bf99f0344a7fb9f6105"
x-goog-generation: 1476658419217154
x-goog-metageneration: 1
x-goog-stored-content-encoding: gzip
x-goog-stored-content-length: 290667
Content-Type: application/javascript
Content-Encoding: gzip
Content-Language: en
x-goog-hash: crc32c=vZKmgQ==
x-goog-hash: md5=fHnm/SGjC/mfA0Sn+59hBQ==
x-goog-storage-class: STANDARD
Accept-Ranges: bytes
Content-Length: 290667
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Type
Access-Control-Expose-Headers: Content-Length
Access-Control-Expose-Headers: Content-Encoding
Server: UploadServer