- Date 헤더는 웹서버가 클라이언트의 요청에 응답한 시간을 표시
- Date 헤더 값을 컨텐츠 자체의 생성/수정된 시간으로 알고 있지만, 해당 내용은 잘못된 정보임
- 컨텐츠 자체의 생성/수정된 시간은 Last-Modified 라는 헤더에서 표시
HTTP 1.1에서는 아래 형식으로 시간 정보를 표시 → RFC 1123에 정의
HTTP 1.1 이전 버전에서 사용되었던 시간 포맷도 HTTP 1.1에서 처리 가능
1. RFC 850에 정의한 Date 형식
Date: Thursday, 17-Aug-17 05:52:23 GMT
2. C-Language 라이브러리 표준인 Date 형식
Date: Thu Aug 17 05:52:23 2017
Date 정보가 포함하지 않는 경우
- HTTP에서는 Date 정보를 웹서버에서 응답할 때 반드시 포함해야하지만, 특별한 경우에는 Date 정보를 포함하지 않아도 됨
- Date 정보가 포함되지 않는 경우
- 상태 코드가 "100 Continue" 와 "101 Switching Protocols" 인 경우에 Date 정보 X
- 서버 에러(예, 500 Internal Server Error) 경우와 웹서버가 유효한 date 정보를 생성하지 못함
문법
### 문법
Date: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
### 사용 예제
Date: Wed, 21 Oct 2015 07:28:00 GMT
지시자
1. <day-name>
- "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", 또는 "Sun" 중 하나가 표시
- 대소문자 구분
2. <day>
- 날짜
- 두 글자로 표시
- 예시 : "04" 또는 "23"
3. <month>
- "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" 중 하나가 표시
- 대소문자 구분
4. <year>
- 연도
- 네 글자로 표시
- 예시 : "1990" 또는 "2016"
5. <hour>
- 시간
- 두 글자로 표시
- 예시 : "09" 또는 "23"
6. <minute>
- 분
- 두 글자로 표시
- 예시 : "04" 또는 "59"
7. <second>
- 초
- 두 글자로 표시
- 예시 : "04" 또는 "59"
8. GMT
- 그리니치 표준시
- HTTP 날짜는 현지 시각이 아닌, 언제나 GMT로 표현