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에서 설정하는 방법
조금 서면이 다르다.
Reference
이 문제에 관하여(js를 gz 배달로 엄청나게 점수가 올라간 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kerry/items/40723a0ad6b0eca00a45텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)