js의 파일 크기가 커서 로드 속도를 줄일 필요가 생겼다. 그래서 gzip으로 압축하려고 nginx에 설정을 해주었다.
이전에 인터넷을 보면서 알아본 속성은 아래와 같다.
gzip on; // 압축 on
gzip_static on; // 서버에 이미 압축된 gz파일이 있다면 압축하지 않고
// 해당 gz 파일을 보내주는 것으로 따로 모듈 설치가 필요하다.
gzip_vary on;
gzip_min_length 10240; // 압축을 시작하는 최소 크기 (난 10kb로 했다.)
gzip_proxied any; // 프록시 요청에 대한 응답의 압축을 활성화하는 속성으로 any는
// 모든 프록시 요청에 대해 압축을 활성화하는 것이다.
// no-cache, no-store와 같이 특정 속성을 정해줄 수 있다.
gzip_comp_level 9; // 압축 레벨(2 이상부터는 사실 다 비슷하다고 한다.
// 압축률이 높아지는 대신 cpu를 많이 사용한다.)
gzip_buffers 16 8k; // 버퍼는 기본 속성이 16 8k | 32 4k이다. 뭔지 잘 모르겠다.
gzip_types text/plain // 기본으로 html은 해주지만 js는 해주지 않는다.
text/css // 여기에 명시한 타입들만 압축이 실행된다.
text/javascript
text/xml
application/javascript
application/json
application/xml
image/svg+xml
image/svg;
이와 같은 속성들이 있었고, 결국 내가 적용한 속성은 아래와 같다.
gzip on
gzip_min_length 10240
gzip_comp_level 6
gzip_vary on
gzip_types text/plain
text/css
text/javascript
text/xml
application/javascript
application/json
application/xml
image/svg+xml
image/svg
모두 적용하지 않은 이유
깔끔한 정리 감사합니다 :) 잘 참고할게요!