DateDate는 메시지가 생성된(origin에서 발신된) 시각을 나타내는 헤더입니다. 대부분 응답에 실리지만, 명세상 요청에도 붙일 수 있어 양방향으로 정의됩니다.
형식은 IMF-fixdate라 불리는 고정 형식으로, 항상 GMT(=UTC) 기준이며 요일·일·월·연·시:분:초를 포함합니다(예: `Wed, 21 Oct 2026 07:28:00 GMT`).
값은 반드시 RFC 9110의 IMF-fixdate 형식을 따라야 합니다. 시간대는 항상 문자 그대로 `GMT`이며 오프셋(+09:00 등)이나 로컬 시간대를 쓰지 않습니다. 과거 RFC 850·asctime 형식도 파싱 호환성상 받아들이되, 생성은 IMF-fixdate로만 합니다.
Date는 캐시 신선도 계산의 기준점입니다. 캐시는 응답의 `Age`, `Expires`, `Cache-Control: max-age`와 Date를 함께 사용해 리소스가 얼마나 오래되었는지, 언제 만료되는지를 계산합니다. 따라서 서버 시계가 틀어지면(clock skew) 캐시가 리소스를 너무 오래 신선하다고 여기거나 조기에 만료시키는 오류가 생깁니다.
대부분의 서버·프레임워크가 Date를 자동으로 붙이므로 손으로 설정할 일은 드뭅니다. 다만 방화벽·게이트웨이·임베디드 장비의 시계가 어긋나면 `Expires`나 `Retry-After`의 절대시각 해석이 왜곡될 수 있어, NTP로 서버 시각을 정확히 유지하는 것이 중요합니다.
Date: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMTe.g. Date: Wed, 21 Oct 2026 07:28:00 GMT