![크롬: tar.gz 압축 풀기 방지](https://rvso.com/image/1457438/%ED%81%AC%EB%A1%AC%3A%20tar.gz%20%EC%95%95%EC%B6%95%20%ED%92%80%EA%B8%B0%20%EB%B0%A9%EC%A7%80.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
파일은 크롬에서 압축이 풀리지 않고 헤더도 보고되지 않아 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-gzip
Tomcat 앞의 Apache로 인해 발생했습니다. 다음 줄을 제거합니다.
LoadModule deflate_module modules/mod_deflate.so
구성을 통해 문제가 해결되었습니다.