크롬: tar.gz 압축 풀기 방지

크롬: tar.gz 압축 풀기 방지

최신 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.gzApache/Tomcat 콤보 에 따르면 다음과 같이 응답합니다.

Content-Encoding: x-gzip

다른 웹사이트에서 시도한 .tar.gz파일은 크롬에서 압축이 풀리지 않고 헤더도 보고되지 않아 Content-Encoding: x-gzip관련이 있는 것 같습니다.

답변1

웹 서버가 헤더 .tar.gz와 함께 파일을 보낼 가능성이 높으며 content-encoding: gzip, 이로 인해 웹 브라우저는 gzip 레이어가 대역폭을 절약하기 위해서만 적용되었다고 가정하게 되며 실제로 보내려는 것은 아카이브였습니다 .tar. Chrome은 gzip으로 압축된 다른 파일( .html, .js, 등) 과 마찬가지로 반대쪽에서 gzip을 푼다 .css(그러나 파일 이름은 정중하게 수정하지 않음).

이 문제를 해결하려면 웹 서버가 헤더 .tar.gz없이 파일을 제공하는지 확인하세요 content-encoding: gzip.

더 많은 정보:https://code.google.com/p/chromium/issues/detail?id=83292

답변2

호스팅 제공업체에 따르면 헤더는 Content-Encoding: x-gzipTomcat 앞의 Apache로 인해 발생했습니다. 다음 줄을 제거합니다.

LoadModule deflate_module               modules/mod_deflate.so

구성을 통해 문제가 해결되었습니다.

관련 정보