Chrome: éviter de déballer tar.gz

3

La dernière version de Chrome and Chromium semble décompresser les fichiers .tar.gz automatiquement pour moi sous OS X et Linux. Lors de l'utilisation wget avec la même URL, il montre:

$ wget http://mydomain/dir/file.tar.gz
...
HTTP request sent, awaiting response... 200 OK
Length: ... [application/octet-stream]
...

Vérification du type de fichier:

$ file file.tar.gz
file.tar.gz: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)

Lorsque vous procédez de la même manière pour le fichier téléchargé avec Chrome ou Chromium:

$ file file.tar.gz
file.tar.gz: POSIX tar archive

Notez que Chrome / Chromium a évidemment conservé le nom du fichier, mais l'a développé (la taille du fichier est environ 4 fois supérieure à celle du fichier téléchargé par wget).

En tant qu'administrateur de site Web, comment puis-je empêcher Chrome / Chromium de décompresser le fichier?

Mettre à jour:

Selon curl -I http://mydomain/dir/file.tar.gz notre combo Apache / Tomcat répond avec

Content-Encoding: x-gzip

A tenté .tar.gz les fichiers d'autres sites Web ne sont pas décompressés par chrome et ne signalent pas le Content-Encoding: x-gzip en-tête, donc il semble y avoir une relation.

Thomas S.
la source

Réponses:

5

Votre serveur Web est probablement en train d'envoyer le .tar.gz déposer avec un content-encoding: gzip En-tête, faisant en sorte que le navigateur Web suppose qu'une couche gzip a été appliquée uniquement pour économiser la bande passante. .tar archiver. Chrome le décompresse de l’autre côté, comme il le ferait avec tout autre fichier ( .html, .js, .css, etc.) qu'il reçoit gzippé (il ne modifie pas cependant le nom de fichier).

Pour résoudre ce problème, assurez-vous que votre serveur Web sert .tar.gz fichiers sans le content-encoding: gzip entête.

Plus d'informations: https://code.google.com/p/chromium/issues/detail?id=83292

Maximillian Laumeister
la source
J'ai déjà changé le Tomcat pour envoyer application/octet-stream pour gz fichiers (voir le wget sortie). Cela n'a rien changé. À côté de cela, il semble que ce soit une nouvelle fonctionnalité de Chrome. Je ne me souviens pas du fait que ses fichiers avaient déjà été décompressés il y a 3 mois.
Thomas S.
2
@ThomasS. Pour autant que je sache, votre problème est dû à l'envoi de la content-encoding: gzip en-tête, cela n'a pas à voir avec le application/octet-stream type de contenu. En d'autres termes, je vous conseille de changer votre content-encoding en-tête, pas votre Content-Type entête.
Maximillian Laumeister
Le bogue est marqué comme étant corrigé, mais je viens de trouver le même problème en 2018 mais avec .tgz extension. Exemple d'URL: lysator.liu.se/~jc/wotsap/download/wotsap-0.7.tgz
Jonathan Cross
0

Selon notre fournisseur d'hébergement l'en-tête Content-Encoding: x-gzip a été causée par l’Apache devant notre Tomcat. Supprimer la ligne suivante:

LoadModule deflate_module               modules/mod_deflate.so

de sa configuration résolu le problème.

Thomas S.
la source