Last-Modified란? 브라우저가 파일의 마지막 수정 시간을 확인하는 방법 쉽게 이해하기
Last-Modified는 파일의 최종 수정일입니다. If-Modified-Since·304·ETag와의 차이, Cache-Control·사이트맵 lastmod까지 초보 기준으로 정리합니다.
브라우저 캐시와 ETag를 보면 함께 나오는 HTTP 헤더가 Last-Modified입니다. 서버가 웹페이지·파일이 마지막으로 수정된 시간을 브라우저에 알려 주는 응답 헤더입니다.
쉽게 말하면 — Last-Modified는 홈페이지 파일에 적혀 있는 ‘최종 수정일’입니다.
문서의 마지막 수정 날짜에 비유하면
매뉴얼에 「최종 수정일: 2026년 7월 27일」이 있으면, 나중에 「그 이후 새 버전이 나왔나요?」만 물어보면 됩니다. 없으면 기존 문서를 그대로 씁니다. Last-Modified도 「이 날짜 이후 바뀌었나요?」를 확인하는 정보입니다. 예: Last-Modified: Mon, 27 Jul 2026 01:00:00 GMT — 형식을 외울 필요는 없습니다.
처음 방문과 다시 방문
- 처음 — 200 OK + 파일 + Last-Modified 저장
- 다시 — 요청 헤더
If-Modified-Since로 「이 시간 이후에만 새 내용을 보내 주세요」
그 이후 변경이 없으면 304 Not Modified → 기존 캐시 사용. 바뀌었으면 보통 200 + 새 파일 + 새 Last-Modified입니다.
Last-Modified와 304 · ETag
- Last-Modified — 최종 수정 날짜(비교 기준)
- 304 — 그 날짜 이후 변경 없음이라는 답
- ETag — 버전 번호표. 자세한 내용은 ETag란?
시간은 이해하기 쉽지만, 아주 짧은 시간에 여러 번 바뀌거나 동적 생성 콘텐츠에서는 구분력이 약할 수 있습니다. ETag가 더 세밀한 경우도 있고, 응답에 둘 다 넣을 수도 있습니다.
누가 정하고 어디에 쓰나?
보통 웹서버·앱이 정합니다. 정적 파일은 디스크 수정 시각, 동적 페이지는 게시글 최종 수정 시각 등을 쓸 수 있습니다. HTML·이미지·CSS·JS·폰트·API 응답에도 쓸 수 있습니다. 화면의 「최종 수정일」문구와 HTTP 헤더는 위치가 다르며, 같은 값을 쓸 수도 있고 아닐 수도 있습니다.
Cache-Control · 캐시 버스팅
- Cache-Control — 언제 다시 확인할지(HTTP 헤더)
- Last-Modified — 다시 확인할 때 보는 최종 수정일
- 캐시 버스팅 — URL을 바꿔 새 파일로 인식
max-age가 남아 있으면 서버에 묻지 않고 캐시만 쓸 수 있습니다. Last-Modified 확인도 요청은 가지만, 304면 파일 전체 재전송을 줄입니다. 내용이 바뀌었는데 수정 시각이 안 바뀌면 옛 캐시가 남을 수 있어, CDN·ETag·버스팅과 함께 봅니다.
사이트맵 lastmod · SEO (참고)
HTTP Last-Modified와 XML 사이트맵의 <lastmod>는 이름만 비슷하고 위치·목적이 다릅니다. 실제 변경 없이 매일 오늘 날짜로 바꾸는 것은 권장하지 않습니다. Last-Modified만으로 검색순위가 오르지는 않습니다 — 캐시·변경 확인용 기술 요소입니다.
자주 묻는 질문
Last-Modified란?
콘텐츠가 마지막으로 수정된 시점을 알려 주는 HTTP 응답 헤더입니다.
If-Modified-Since란?
브라우저가 가진 수정 시각을 서버에 보내 「그 이후 변경됐는지」 묻는 요청 헤더입니다.
ETag와 차이는?
ETag는 버전 식별값, Last-Modified는 마지막 수정 시간입니다.
없으면 캐시를 못 쓰나요?
아닙니다. ETag·Cache-Control 등으로도 가능합니다.
정리
ETag = 버전 번호 · Last-Modified = 최종 수정 날짜
브라우저는 If-Modified-Since로 변경 여부를 묻고, 없으면 304로 캐시를 씁니다. 매번 물어보는 것도 낭비일 수 있어, 서버는 「일정 시간 동안은 다시 확인하지 않아도 됩니다」라는 정책을 줄 수 있습니다. 그때 가장 자주 쓰는 헤더가 Cache-Control입니다. 자세한 내용은 Cache-Control이란?을 참고하세요.