HTTPQUERY
한국어

If-Modified-Since

사용법

If-Modified-Since 헤더는 리소스의 수정 날짜를 기준으로 캐시 재검증을 수행합니다. 클라이언트는 이전 응답에서 받은 Last-Modified 헤더의 타임스탬프를 포함시킵니다. 지정된 날짜 이후 리소스가 변경되지 않았다면 서버는 본문 없이 304 Not Modified 응답을 반환하여 대역폭과 처리 시간을 절약합니다. 리소스가 변경되었다면 서버는 갱신된 콘텐츠와 함께 일반적인 200 응답을 보냅니다.

이 헤더는 GET과 HEAD 요청에만 적용됩니다. 다른 메서드에서는 짝이 되는 If-Unmodified-Since 헤더가 날짜 기반 조건 로직을 제공합니다.

같은 요청에 If-Modified-Since와 If-None-Match가 함께 나타나면 If-None-Match가 우선합니다. 타임스탬프는 1초 단위 해상도를 가지고 서버와 중간 캐시 간의 시계 오차가 예외 상황을 만들어 내므로, ETag 기반 비교가 더 신뢰할 수 있습니다.

날짜 값은 Date 헤더 명세에 기술된 HTTP-date 형식을 따릅니다. 요일 이름, 날짜, 시·분·초 단위 시각, 그리고 뒤에 GMT가 옵니다.

참고

Googlebot은 크롤 요청에 마지막 콘텐츠 크롤 시점의 타임스탬프를 담아 If-Modified-Since를 보냅니다. 변경되지 않은 콘텐츠에 304를 반환하는 서버는 처리 시간과 자원을 절약하여 간접적으로 크롤 효율을 높입니다. 또한 서버는 요청에 조건부 헤더가 포함되어 있는지와 무관하게, 콘텐츠가 변경되지 않았다면 어떤 Googlebot 요청에 대해서든 선제적으로 304를 반환해도 됩니다. Cache-Control 응답 헤더의 max-age 필드를 콘텐츠가 변경되지 않을 것으로 예상되는 초 수로 설정하면 크롤러가 URL을 언제 다시 크롤링할지 판단하는 데 도움이 됩니다.

예시

클라이언트가 캐시된 리소스를 재검증합니다. 리소스가 2022년 6월 1일 08:00 GMT 이후 변경되지 않았다면 서버는 304 Not Modified를 반환합니다. 그렇지 않으면 서버는 갱신된 리소스 전체를 보냅니다.

If-Modified-Since: Wed, 01 Jun 2022 08:00:00 GMT

이전 응답의 Last-Modified와 짝을 이루는 조건부 요청입니다. 클라이언트는 수정 날짜를 저장했다가 동일한 리소스에 대한 다음 요청에서 그 수정 날짜를 보냅니다.

Last-Modified: Wed, 01 Jun 2022 08:00:00 GMT

다음 요청에서:

If-Modified-Since: Wed, 01 Jun 2022 08:00:00 GMT

참고

SEO 및 캐싱 관련 도움이 필요하면 전 Google SEO 컨설턴트인 Search Brothers에 문의하십시오.