it-swarm-ja.com

Chromium:tar.gzの解凍を防止します

最新のChromeで、ChromiumはOSXとLinuxで.tar.gzファイルを自動的に解凍するようです。同じURLでwgetを使用すると、次のように表示されます。

$ 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ヘッダーを報告しないため、関係があるようです。

5
Thomas S.

Webサーバーが.tar.gzヘッダー付きのcontent-encoding: gzipファイルを送信している可能性があります。これにより、Webブラウザーは、帯域幅を節約するためにのみgzipレイヤーが適用されていると想定し、実際に送信するのは.tarアーカイブでした。 Chrome gzip圧縮された他のファイル(.html.js.cssなど)の場合と同じように、反対側でgzip圧縮を解除します(ただし、ファイル名は忠実に変更されません) 。

これを修正するには、Webサーバーが.tar.gzヘッダーなしでcontent-encoding: gzipファイルを提供することを確認してください。

詳細: https://code.google.com/p/chromium/issues/detail?id=83292