Cacheable

Concepts

개요

캐시 가능(cacheable)이란 어떤 응답을 저장해 두었다가 이후 동일 요청에 재사용해도 되는지를 규정하는 성질입니다.

메서드·상태 코드·캐시 헤더의 조합으로 결정되며, 올바르게 설정하면 네트워크 왕복을 줄여 성능과 서버 부하를 크게 개선합니다.

자세히

기본적으로 GET·HEAD 응답은 캐시 대상이 되기 쉽고, POST 응답은 일반적으로 캐시하지 않습니다. 실제 캐시 여부와 기간은 `Cache-Control`(max-age·no-store·private·public 등), `Expires`, 그리고 재검증용 `ETag`/`Last-Modified`로 제어합니다. 예를 들어 `Cache-Control: public, max-age=31536000, immutable`은 해시가 파일명에 박힌 정적 자산에 이상적입니다.

혼동하기 쉬운 지점은 'private vs public'입니다. `private`는 브라우저처럼 특정 사용자 전용 캐시에만 저장하라는 뜻이고, `public`은 CDN·리버스 프록시 같은 공유 캐시도 저장 가능하다는 뜻입니다. 사용자별 개인화 응답을 공유 캐시에 넣으면 다른 사용자에게 새는 사고가 나므로, 인증된 응답에는 `private` 또는 `no-store`를 신중히 지정해야 합니다. 캐시 가능성 설계는 TTFB 개선과 CDN 효율의 출발점입니다.

관련 타입