--- title: Cache-Control slug: Web/HTTP/Headers/Cache-Control translation_of: Web/HTTP/Headers/Cache-Control ---
Cache-Control
일반 헤더 필드는 요청과 응답 내의 캐싱 메커니즘을 위한 디렉티브를 정하기 위해 사용됩니다. 캐싱 디렉티브는 단방향성이며, 이는 요청 내에 주어진 디렉티브가 응답 내에 주어진 디렉티브와 동일하다는 것을 뜻하지는 않는다는 것을 의미합니다.
Header type | {{Glossary("General header")}} |
---|---|
{{Glossary("Forbidden header name")}} | no |
{{Glossary("Simple response header", "CORS-safelisted response-header")}} | yes |
디렉티브는 대소문자를 구분하지 않으며 토큰과 따옴표로 둘러쌓인 문자열 문법 모두를 사용할 수 있는 부가적인 인자를 가집니다. 다중 디렉티브는 쉼표로 구분됩니다.
HTTP 요청 내에서 클라이언트에 의해 사용될 수 있는 표준 Cache-Control
디렉티브.
Cache-Control: max-age=<seconds> Cache-Control: max-stale[=<seconds>] Cache-Control: min-fresh=<seconds> Cache-control: no-cache Cache-control: no-store Cache-control: no-transform Cache-control: only-if-cached
HTTP 응답 내에서 서버에 의해 사용될 수 있는 표준 Cache-Control
디렉티브.
Cache-control: must-revalidate Cache-control: no-cache Cache-control: no-store Cache-control: no-transform Cache-control: public Cache-control: private Cache-control: proxy-revalidate Cache-Control: max-age=<seconds> Cache-control: s-maxage=<seconds>
Cache-Control
디렉티브확장 Cache-Control
디렉티브는 핵심 HTTP 캐싱 표준 문서에 속하지 않습니다. 지원 여부는 호환성 테이블을 확인하시기 바랍니다.
Cache-control: immutable Cache-control: stale-while-revalidate=<seconds> Cache-control: stale-if-error=<seconds>
public
private
no-cache
only-if-cached
max-age=<seconds>
Expires
에 반해, 이 디렉티브는 요청 시간과 관련이 있습니다.s-maxage=<seconds>
max-age
혹은 Expires
헤더를 재정의하나, (프록시와 같은) 공유 캐시에만 적용되며 사설 캐시에 의해서는 무시됩니다.max-stale[=<seconds>]
min-fresh=<seconds>
stale-while-revalidate=<seconds>
{{experimental_inline}}stale-if-error=<seconds>
{{experimental_inline}}must-revalidate
proxy-revalidate
must-revalidate
와 동일하지만, (프록시와 같은)공유 캐시에만 적용되며 사설 캐시에 의해서는 무시됩니다.immutable
If-None-Match
혹은 If-Modified-Since
과 같은)그에 대한 조건부의 재검증을 전송해서는 안 됩니다. 이 확장을 감지하지못한 클라이언트는 HTTP 명세에 따라 그것들을 무시해야만 합니다. 파이어폭스에서, immutable
는 https://
트랜잭션 상에서만 부여됩니다. 좀 더 많은 정보는 다음의 블로그 포스트를 참고하시기 바랍니다.no-store
no-transform
no-transform
디렉티브는 이를 허용하지 않습니다.캐싱을 끄기 위해서, 다음의 디렉티브들을 보낼 수 있습니다. 추가로, Expires와
Pragma
헤더를 참고하시기 바랍니다.
Cache-Control: no-cache, no-store, must-revalidate
변경되지 않을 애플리케이션 내 파일들에 대해, 보통 적극적인 캐싱을 추가할 수 있습니다. 이것은 예를 들자면, 이미지, CSS 파일 그리고 자바스크립트 파일과 같이 애플리케이션에 의해 서브되는 정적 파일들을 포함합니다. 추가로, Expires
헤더를 참고하시기 바랍니다.
Cache-Control:public, max-age=31536000
명세 | 제목 |
---|---|
{{RFC("7234")}} | Hypertext Transfer Protocol (HTTP/1.1): Caching |
{{RFC("5861")}} | HTTP Cache-Control Extensions for Stale Content |
{{RFC("8246")}} | HTTP Immutable Responses |
{{Compat("http.headers.Cache-Control")}}