Хром: предотвратить распаковку tar.gz

3188
Thomas S.

Последние версии Chrome и Chromium автоматически распаковывают файлы .tar.gz для меня в OS X и Linux. При использовании 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, очевидно, сохранил имя файла, но расширил его (размер файла в ~ 4 раза больше, чем из файла, загруженного wget).

Как администратор сайта, как я могу предотвратить распаковку файла Chrome / Chromium?

Обновить:

Согласно curl -I http://mydomain/dir/file.tar.gzнашему списку Apache / Tomcat отвечает

Content-Encoding: x-gzip 

Испытанные .tar.gzфайлы с других веб-сайтов не распаковываются Chrome и не сообщают Content-Encoding: x-gzipзаголовок, поэтому, похоже, есть связь.

3

2 ответа на вопрос

5
Maximillian Laumeister

Your web server is likely sending the .tar.gz file with a content-encoding: gzip header, causing the web browser to assume a gzip layer was applied only to save bandwidth, and what you really intended to send was the .tar archive. Chrome un-gzips it on the other side like it would with any other file (.html, .js, .css, etc.) that it receives gzipped (it dutifully doesn't modify the filename though).

To fix this, make sure your web server serves .tar.gz files without the content-encoding: gzip header.

More Info: https://code.google.com/p/chromium/issues/detail?id=83292

Я уже изменил Tomcat для отправки `application / octet-stream` для файлов` gz` (см. Вывод `wget`). Это ничего не изменило. Кроме того, кажется, что это новая функция Chrome - не могу вспомнить, что он уже распаковывал файлы 3 месяца назад. Thomas S. 9 лет назад 0
@ThomasS. Насколько я знаю, ваша проблема связана с отправкой заголовка `content-encoding: gzip`, это не связано с типом контента` application / octet-stream`. Другими словами, я советую вам изменить заголовок `content-encoding`, а не заголовок` Content-Type`. Maximillian Laumeister 9 лет назад 2
Ошибка помечена как исправленная, но я обнаружил ту же проблему в 2018 году, но с расширением `.tgz`. Пример URL: https://www.lysator.liu.se/~jc/wotsap/download/wotsap-0.7.tgz Jonathan Cross 5 лет назад 0
0
Thomas S.

According to our hosting provider the header Content-Encoding: x-gzip was caused by the Apache in front of our Tomcat. Removing following line:

LoadModule deflate_module modules/mod_deflate.so 

from its configuration solved the problem.

Похожие вопросы