HTTP Cache

HTTP 캐싱 수명 주기와 재검증

브라우저 캐시는 응답의 Cache-Control을 읽고, 만료 전에는 재사용하며 만료 후에는 서버에 재검증을 요청한다.

캐시된 응답이 다시 쓰이는 흐름

revalidation

응답 저장

브라우저가 Cache-Control, ETag, Last-Modified를 응답 본문과 함께 저장한다.

신선도 검사

max-age 안이면 네트워크 요청 없이 memory/disk cache의 fresh 응답을 사용한다.

재검증 요청

만료되면 If-None-MatchIf-Modified-Since 조건부 요청을 보낸다.

304 또는 200

변경 없으면 304로 본문을 생략하고, 변경되면 200과 새 본문으로 캐시를 갱신한다.

responsecache store신선도 점검revalidate304/200
응답별 캐시 정책

캐싱은 빠르게 보이게 하는 장치이면서 오래된 데이터를 막는 HTTP 계약이다. 정적 asset은 긴 max-age와 fingerprint, 사용자별 응답은 private/no-store를 분리한다.