NGINX gzip이 JavaScript 파일을 압축하지 않음 모든 JavaScript 파일은 nginx

모든 JavaScript 파일은 nginx gzip으로 압축되지 않습니다.

CSS 파일이 작동합니다.

내에 nginx.conf는 다음과 같은 줄이 있습니다.

gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_proxied any;
gzip_buffers 16 8k;
gzip_types    text/plain application/x-javascript text/xml text/css;
gzip_vary on;


답변

이 줄을 변경하십시오.

gzip_types    text/plain application/x-javascript text/xml text/css;

이렇게하려면 :

gzip_types    text/plain application/javascript application/x-javascript text/javascript text/xml text/css;

gzip 유형 목록에 application/javascript및 추가에 유의하십시오 text/javascript.

여기에 게시 된 답변 더 많은 세부 정보와 더 광범위한 gzip 유형 목록이 있습니다 .


답변

브라우저에서 자바 스크립트에 대해 가장 잘 지원되고 오래된 표준 MIME 유형이 실제로 텍스트 / 자바 스크립트이기 때문에 이것은 흥미 롭습니다. 구성하면에서 /etc/nginx/mime.types작동합니다.

text / javascript (구식) : JavaScript; 응용 프로그램 / 자바 스크립트에 대한 사용을 막기 위해 RFC 4329에서 정의되고 폐기되었습니다. 그러나 text / javascript는 HTML 4 및 5에서 허용되며 애플리케이션 / javascript와 달리 브라우저 간 지원이 있습니다. HTML5에서 태그의 “type”속성은 선택 사항이며 모든 브라우저가 항상 올바른 기본값을 가정했기 때문에 (사양에서 요구하는 HTML 4에서도)이를 사용할 필요가 없습니다.

이 스레드에서 : text / javascript vs application / javascript

따라서 nginx의 gzip 모듈은 단순히 이전 표준에 따라 빌드되었으며 애플리케이션 / 자바 스크립트 MIME 유형을 제대로 처리하지 못하는 것 같습니다.