그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Network
Network

HTTP ETag는 무엇이며 Cache-Control과 어떻게 함께 쓰나요?

실무4/5
설계4/5
인간4/5
기초3/5

면접관의 질문 의도

ETag를 캐시 헤더 중 하나로 단순 암기하는지, 아니면 Cache-Control과 어떻게 역할이 갈리고 어떻게 함께 굴러가는지까지 보는지를 가른다.

큐레이션 답변

학습 자료

ETag는 서버가 응답 본문의 버전을 식별하려고 붙이는 값이다. 클라이언트는 다음 요청에 If-None-Match로 이 값을 다시 보내고, 서버는 현재 버전과 같으면 본문 없이 304 Not Modified만 돌려준다. Last-Modified보다 세밀하게 비교할 수 있고 strong/weak로 비교 강도를 조정한다. Cache-Control이 캐시 보관과 만료를 결정한다면, ETag는 만료 이후 재검증 흐름의 키로 동작한다.

좋은 답변 구조

  1. 01ETag가 무엇을 식별하는 값인지 정의한다
  2. 02If-None-Match로 304가 떨어지는 요청·응답 흐름을 단계별로 설명한다
  3. 03strong/weak ETag와 Last-Modified의 비교 기준을 정리한다
  4. 04Cache-Control과 역할을 나누고 함께 쓰는 전략으로 마무리한다

자주 실수하는 포인트

ETag를 켰으니 캐시 정책이 완성됐다고 본다 (Cache-Control의 만료 정책과 역할이 다르다)
Last-Modified와 ETag의 차이를 시간 vs 해시 외엔 설명하지 못한다
weak ETag가 압축·CDN 환경에서 왜 필요한지 모른 채 무조건 strong을 쓴다

실무 맥락

  • 이미지·JS 번들 같은 정적 자산을 CDN에 올려 캐시 정책을 설계하는 환경
  • 변경 빈도가 높은 API 응답을 재검증해 본문 전송을 줄여야 하는 환경
  • 배포 주기에 맞춰 캐시 만료와 재검증 정책을 함께 운용해야 하는 환경

본인 경험에 녹이는 힌트

정적 자산의 304 비율을 들여다보며 캐시 적중률을 개선한 경험이 있다면 ETag·Cache-Control 조합 결정과 자연스럽게 이어진다

배포 후 사용자에게 이전 버전 자산이 잡혀 곤란했던 경험은 versioned URL 전략과 묶어 풀 수 있다

CDN이 압축 과정에서 ETag를 weak로 바꾸거나 제거하는 동작을 디버깅한 적이 있다면 strong/weak 차이로 바로 연결된다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1weak ETag를 strong ETag 대신 선택하는 실제 기준은 무엇인가요
Q2Last-Modified와 ETag를 함께 두는 경우 우선순위는 어떻게 되나요
Q3CDN이 ETag를 변경하거나 제거할 때 캐시 정책을 어떻게 조정하나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문