![Chromium: tar.gz の解凍を防止](https://rvso.com/image/1457438/Chromium%3A%20tar.gz%20%E3%81%AE%E8%A7%A3%E5%87%8D%E3%82%92%E9%98%B2%E6%AD%A2.png)
最新の Chrome と Chromium は、OS X と Linux で .tar.gz ファイルを自動的に解凍するようです。wget
同じ URL で使用すると、次のように表示されます。
$ wget http://mydomain/dir/file.tar.gz
...
HTTP request sent, awaiting response... 200 OK
Length: ... [application/octet-stream]
...
ファイルの種類を確認しています:
$ file file.tar.gz
file.tar.gz: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
Chrome または Chromium でダウンロードしたファイルに対して同じことを実行する場合:
$ file file.tar.gz
file.tar.gz: POSIX tar archive
Chrome/Chromium ではファイル名はそのままですが、拡張されています (ファイル サイズは wget でダウンロードしたファイルの約 4 倍になります)。
ウェブサイト管理者として、Chrome/Chromium がファイルを解凍するのを防ぐにはどうすればよいですか?
アップデート:
curl -I http://mydomain/dir/file.tar.gz
Apache/Tomcatの組み合わせによると、
Content-Encoding: x-gzip
他のウェブサイトから試した.tar.gz
ファイルは Chrome で解凍されず、ヘッダーも報告されないのでContent-Encoding: x-gzip
、関係があるようです。
答え1
ウェブ サーバーはヘッダー.tar.gz
付きのファイルを送信している可能性がありcontent-encoding: gzip
、その結果、ウェブ ブラウザーは帯域幅を節約するためだけに gzip レイヤーが適用され、実際に送信しようとしていたのはアーカイブであると想定します。Chrome は、gzip 圧縮された他のファイル ( 、、など) を受信する.tar
場合と同様に、反対側でそれを gzip 解凍します(ただし、ファイル名は変更されません)。.html
.js
.css
これを修正するには、Web サーバーがヘッダー.tar.gz
なしでファイルを提供することを確認しますcontent-encoding: gzip
。
より詳しい情報:https://code.google.com/p/chromium/issues/detail?id=83292
答え2
ホスティング プロバイダーによると、ヘッダーはContent-Encoding: x-gzip
Tomcat の前の Apache によって発生したとのことです。次の行を削除します。
LoadModule deflate_module modules/mod_deflate.so
その構成から問題は解決しました。