정적 사이트의 캐시 헤더 기본
정적 사이트는 배포가 단순한 대신, 캐시를 잘못 잡으면 옛 파일이 계속 뜬다. 규칙은 자산의 종류에 따라 갈린다.
파일명에 내용 해시가 붙은 자산(번들된 CSS·JS·이미지, 예: app.a1b2c3.js)은 내용이
바뀌면 이름이 바뀐다. 그러니 아주 길게 캐시해도 안전하다.1
Cache-Control: public, max-age=31536000, immutable
반면 index.html은 이름이 그대로다. 새 배포를 바로 반영하려면 짧게 두거나 매번
확인하게 한다.
Cache-Control: no-cache
no-cache2는 “캐시 금지”가 아니라 “쓰기 전에 서버에 바뀌었는지 물어봐”라는
뜻이다. 이름과 달리 캐시는 한다.
이 두 줄이면 대부분의 정적 사이트는 빠르면서도 최신을 유지한다.