1. 캐시정책?

1.1 캐시정책 설정하는 이유

2.구현하기 전에 고민할 것

2.1 Vercel의 기본 캐시정책

2.2 적절한 캐시수명 정하기

3. 정적자산 파일별 캐시 헤더 설정하기 (vercel.json)

4. 결과물 및 마무리


1. 캐시정책?

유저가 같은 사이트를 자주 재방문한다고 치자. 매 요청마다 리소스를 서버로부터 다운받는다면 매번 통신비가 발생하고, 데이터를 전송 받는 시간이 소요될 것이다.

만약 사이트 UI가 자주 변경될 일이 없거나, 실시간 데이터를 제공하는 서비스가 아니라면, html, js, css, 이미지, 비디오 등의 정적 파일에 캐시 정책을 설정해 불필요한 네트워크 요청을 줄이고 좀 더 빠르게 유저에게 서비스를 보여줄 수 있게 된다.

1.1 캐시정책 설정하는 이유

본 프로젝트는 Vercel에 배포 중인데, Vercel은 무료플랜이어도 CDN 서비스를 이용할 수 있게 해준다. 현재는 기본캐시헤더가 적용돼 있는 상황인데, 본 프로젝트의 정적자산에 맞게 커스텀한 캐시정책을 설정해준다면 CDN 서비스를 더 잘 활용하게 되어 궁극적으로 유저에게 더 빠르게 서비스를 제공할 수 있을 것이다.

2.구현하기 전에 고민할 것

2.1 Vercel의 기본 캐시정책

현재 버셀이 내 프로젝트 정적자산을 브라우저에 응답할때 캐시헤더는 다음과 같다.

  1. html파일, manifest.json, 웹폰트, 이미지, 파비콘
  2. js

2.2 적절한 캐시수명 정하기

적절한 캐시설정은 성능최적화와 최신정보를 응답하는 것 사이의 균형을 찾는 것에서 비롯된다.