js를 gz 배달로 엄청나게 점수가 올라간 이야기

목적:



담당 사이트의 성능 향상을 위해 js를 gz 전달하고 싶습니다.

시책:



상기를 실현하기 위해서 apache측의 설정(.htaccess)이 필요하다고 하는 프런트의 의뢰

결과:



JS가 4분의 1정도의 사이즈가 되어, 엄청나게 스코어가 올랐다

.htaccess 파일 설정



.htaccess 파일은 원래 있었으므로 기존 파일에 다음 내용을 추가


위의 설정에서,
· gzip을 받아들이는 브라우저는 압축 된 xxx.js.gz를 반환합니다.
· 그렇지 않은 브라우저의 경우 원래 xxx.js를 반환해야합니다.

.css 설정



.js뿐만 아니라 .css도 gzip 압축하여 설치하고 싶다면 (js)를 (js | css)로 설정 변경)

깨진 문제



위의 설정만으로는 gzip 파일을 인코딩 할 때 문자가 깨집니다.


ForceType application/x-javascript :



gzip 압축된 파일을 HTTP 응답으로 보내면 Content-Type이 application/gzip이 되어 브라우저가 Content-Type을 올바르게 인식할 수 없게 된다

위의 상황을 피하기 위해 ForceType을 사용하여 JavaScript의 경우 application/javascript가됩니다.

AddEncoding x-gzip .gz :



HTTP 응답의 Content-Encoding에 gzip을 지정하고 .gz 확장명을 포함하는 파일 이름이 gzip 압축되었음을 알립니다.

Header append Vary Accept-Encoding env=!dont-vary



gzip에 대응하지 않는 브라우저에 gzip 압축 된 파일이 송신되기 때문에 브라우저는 수신 한 파일을 처리 할 수 ​​없게되는 것 같습니다.

Header append Vary Accept-Encoding env=!dont-vary 추가로
프록시 서버가 동일한 값의 Accept-Encoding을 보유한 경우에만 캐시를 사용하고, 그렇지 않으면 웹 서버에서 파일을 검색할 수 있습니다.

httpd.conf에서 설정하는 방법



조금 서면이 다르다.

좋은 웹페이지 즐겨찾기