HTTPQUERY
한국어

Expires

사용법

Expires 헤더는 캐시된 응답이 신선도를 잃는 시점을 나타내는 절대 타임스탬프를 제공합니다. 캐시는 이 타임스탬프를 현재 시각과 비교하여 저장된 사본을 계속 사용할 수 있는지 판단합니다.

둘 다 존재할 경우 Cache-Control의 max-age 디렉티브가 Expires를 대체합니다. max-age는 절대 날짜 대신 상대적인 초 값을 사용하므로, 서버와 캐시 사이의 시계 오차 문제를 피할 수 있습니다. 최신 캐싱 정책은 Cache-Control을 주된 신선도 메커니즘으로 삼고, Expires는 max-age를 지원하지 않는 오래된 캐시를 위한 대체 수단으로 둡니다.

값이 0이거나 유효하지 않은 날짜이면 응답이 이미 오래된 상태임을 뜻합니다. 캐시는 해당 항목을 즉시 만료된 것으로 처리하여 다음 요청에서 재검증이나 새로운 가져오기를 강제합니다.

타임스탬프는 Date 헤더가 사용하는 것과 동일한 IMF-fixdate 형식을 따릅니다.

Expires: <day-name>, <day> <month> <year>
  <hour>:<minute>:<second> GMT

참고

같은 응답에 Cache-Control: max-age가 있으면 Expires 값은 무시됩니다. 새로 구현할 때는 max-age를 선호하십시오.

예시

수요일 08:00 UTC에 만료되는 응답입니다. 지정된 시각 이후에 이 응답을 보관 중인 캐시는 해당 사본을 오래된 것으로 취급합니다.

Expires: Wed, 04 Jun 2025 08:00:00 GMT

이미 만료된 것으로 표시된 응답입니다. 값을 0으로 설정하면 캐시가 모든 요청마다 재검증하도록 강제합니다.

Expires: 0

하위 호환성을 위해 Cache-Control과 함께 사용한 Expires 헤더입니다. max-age 디렉티브가 우선하므로 Expires 타임스탬프와 관계없이 응답에 1시간의 신선도 수명이 부여됩니다.

Cache-Control: max-age=3600
Expires: Thu, 01 Jan 1970 00:00:00 GMT