HTTP 캐싱 전략

천영석·2021년 7월 30일
0

no-cache: 캐시를 사용하지만 서버에 매번 요청을 해 해당 캐시가 최신화된 캐시인지 검사를 받는 것이다. Etag랑 함께 쓰여 Etag가 변하면 새로운 자원을 가져온다.

no-store: 아예 캐시를 사용하지 않는 것이다.

must-revalidate: 만료된 캐시 데이터에 대해서 서버에게 유효성 재검증을 받는다.

max-age: 캐시 데이터의 유효 시간을 설정, 유효 시간 만료 후에는 캐시 데이터가 만료된다.

Etag: 캐시가 만료되었을 때, 서버에 다시 자원을 요청하게 되는데 Etag가 동일한 경우라면 서버에서 다운받지 않고 캐시되어 있던 자원을 사용할 수 있도록 해준다.

캐시 무효화를 위해 no-store만 사용해도 될 것 같은데 no-cache, must-revalidate까지 사용하는 이유

  • HTTP 1.0 및 브라우저의 상황이 모두 다르기 때문. 즉, IE6이나 HTTP 1.0을 고려하지 않는다면 no-store만 사용해도 그렇게 문제될 것 같지는 않다.

참고

스택오버플로우
HTTP 캐시 정책에 대해서

profile
느려도 꾸준히 발전하려고 노력하는 사람입니다.

0개의 댓글