HTTP ETag

HTTP
요청 방식
  • OPTIONS
  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  • TRACE
  • CONNECT
  • PATCH
헤더 필드
상태 코드
  • v
  • t
  • e

HTTP ETag 또는 엔티티 태그(entity tag)는 월드 와이드 웹용 프로토콜인 HTTP의 일부이다. 이는 클라이언트가 조건부 요청을 할 수 있도록 허용하는 웹 캐시 유효성 검사를 위해 HTTP가 제공하는 여러 메커니즘 중 하나이다. 이 메커니즘을 사용하면 콘텐츠가 변경되지 않은 경우 웹 서버가 전체 응답을 보낼 필요가 없으므로 캐시가 더 효율적이고 대역폭이 절약된다. 또한 ETag는 낙관적 병행 수행 제어[1]에 사용되어 리소스의 동시 업데이트가 서로 덮어쓰는 것을 방지할 수 있다.

ETag는 웹 서버가 URL에서 발견된 리소스의 특정 버전에 할당한 불투명 식별자이다.[2] 해당 URL의 리소스 표현이 변경되면 새롭고 다른 ETag가 할당된다. 이러한 방식으로 사용되는 ETag는 지문과 유사하며 빠르게 비교하여 리소스의 두 표현이 동일한지 확인할 수 있다.

각주

  1. “Editing the Web – Detecting the Lost Update Problem Using Unreserved Checkout”. 《W3C Note》. 1999년 5월 10일. 
  2. “ETag – HTTP | MDN”. 《developer.mozilla.org》 (미국 영어). 2021년 10월 10일에 확인함. 

외부 링크

  • Apache HTTP Server Documentation – FileETag Directive
  • Editing the Web: Detecting the Lost Update Problem Using Unreserved Checkout, W3C Note, 10 May 1999.
  • Live demo of zombie cookie using ETags
  • Old SQUID Development projects – ETag support 보관됨 23 9월 2012 - 웨이백 머신 (completed in 2001)
  • Using ETags to Reduce Bandwidth & Workload with Spring & Hibernate
  • ETag in HTTP/1.1 specification
  • Concerning Etags and Datestamps by Lars R. Clausen (2004)