0

ちょうどGoogleのクラウドストレージを使用し始めました。私は問題をgzipファイルから受信している。格納されたファイルはgzipされていますが、要求に応じて解凍されます。私はすべてのドキュメント、フォーラムを読んだことがあり、ヘッダーのさまざまな組み合わせを数十回試しても、ブラウザでファイルを取り出しても圧縮されていません。私が間違っていることを指摘する人もいますか?それはストレージ上に到達したらgzipで、ヘッダーについてGoogleクラウドストレージ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 

ファイルは、ファイルとサイズをアップロードする前にgzipedます。このコマンドを使用してストレージに私のファイルを移動するには、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 

だからセットは、カスタムそのコンテンツをヘッダーグーグル

ブラウザは、ストレージにgzipedされるが、それは解凍さとContent-Encodingヘッダーなしで私に応答を返します。

ファイルのアップロード方法が間違っているか、ヘッダーが不足しているかどうかはわかりません。虚しく感じている。ファイルへのリンク - >http://lolchamps.tomdid.com/bundle.js

ご協力いただければ幸いです。

UPDATE: 私はグーグルでファイルを要求していた場合、何か面白いものを発見は、同じファイルは、それが圧縮解除されたバージョンを返し、私のドメインを介して要求された場合、それは、gzipedファイルを返すhttps://storage.googleapis.com/lolchamps.tomdid.com/bundle.jsをURL - 。なぜ???私は暗い魔法を嗅ぐ。

+0

は、私はあなたがSTH求めることができます。ファイルをアップロードすると、ファイルはGoogleのクラウドストレージサーバーまたはクライアント側で圧縮されますか?そのようなオプションはありますか? – curious

+0

@curiousアップロード時にgsutilsを使用して圧縮されています。 https://cloud.google.com/storage/docs/gsutil/commands/cp -Zオプション – Oozhaa

答えて

0

これを再現できないようですか?

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

編集:次のようにクローム、完全な要求に同じ:

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 
+0

をご確認いただきありがとうございます。それは右のカールが正しいヘッダーで正しい応答を与えることです。しかし、開発ツール(Networkタブ)のchromeは、ファイルがgzipされていない(ファイルサイズ1.1mbで、Content-Encodingヘッダがない)ことを示しています。クロムとカールが異なる結果をもたらす理由は何ですか?ありがとう。 – Oozhaa

+0

私はChromeで試したところ、カールのようにgzipでエンコードされたコンテンツも取得しました。私のブラウザのユーザエージェントは次のとおりです:Mozilla/5.0(X11; Linux x86_64)AppleWebKit/537.36(GeckoのようなKHTML)Chrome/54.0.2840.59 Safari/537.36 – lot

+0

-Control:no-transform "vs" Cache-Control:public、max-age = 10、no-transform "を引用してください。 – lot

関連する問題