Caching 2

HTTP ETag에 대해 알아보자

ETag란? ETag란 EntityTag의 줄임말로, 웹 캐시 유효성 검증에 사용된다. 리소스의 특정 버전에대한 고유값이 ETag의 값이되고, 리소스의 내용이 업데이트되면 ETag도 바뀐다. 클라이언트에서 캐싱하고 있는 버전과 서버에서 가지고 있는 버전이 동일하다면 서버는 내용없이 304 Not Modified 라는 상태코드로만 응답을 내려주어 response body에 대한 트래픽을 아낄 수 있다. ETag 작동방식 먼저 HTTP Request를 날려보자. 서버는 ETag와 함께 응답 (상태코드 200)을 내려줄 것이다. 이 요청에 대한 응답의 사이즈는 43.9KB였다. ETag의 검사기 종류에는 약한(Weak)과 강한(Strong)검사가 있는데, 약한 검사를 하는 ETag는 W/로 시작하고, 강한 검..

[Nginx] Static 파일을 캐싱해서 웹 페이지 로딩 속도를 높이자

내가 운영하고 있는 동물의 숲 어플인 너굴리스트다. 그냥 컴퓨터에서 이용할때는 견딜만 하지만, 아이폰의 경우 웹뷰로 띄워서 보여주는데 로딩속도가 무지막지하게 느리다. 사진에서 봐도 Finish까지 15.90s. 이럴때 Nginx에서 css/js/image 파일 등을 캐싱 해 두면 좋다는 조언을 얻었다. 방법은 간단하다. nginx 설정 파일에서 자신이 사용하고 있는 location 전에 다음과 같이 또 하나의 location을 선언 해주면 된다. location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; add_header Vary Accept-Encoding; access_log off; } 그리고나서 nginx 설정에 문법이 틀린 것이 없는지 검사 후 재..