요약
- HEAD는 GET과 동일하지만 응답 본문 없이 헤더만 받아오는 요청이다.
- 리소스 존재 확인, 메타데이터 조회, 캐시 검증, 링크 유효성 검사에 사용한다.
- RFC 9110에 따라 서버는 HEAD 요청에 GET과 정확히 동일한 헤더를 반환해야 한다.
본문
GET과의 차이
| 항목 | GET | HEAD |
|---|---|---|
| 응답 본문 | 있음 | 없음 |
| 응답 헤더 | 있음 | GET과 동일 |
| 멱등성 | O | O |
| 안전 메서드 | O | O |
주요 용도
- 리소스 존재 확인: 파일을 다운로드하지 않고 URL이 유효한지 확인 (
200 OKvs404) - 메타데이터 조회:
Content-Length,Content-Type,Last-Modified,ETag등을 본문 전송 없이 확인 - 캐시 검증:
If-Modified-Since,If-None-Match로 변경 여부만 체크 - 링크 유효성 검사: 크롤러나 모니터링이 대용량 다운로드 없이 상태만 확인
예시
curl -I https://example.com/large-file.zip
# HTTP/1.1 200 OK
# Content-Length: 1048576000
# Content-Type: application/zip
# Last-Modified: Tue, 06 May 2026 12:00:00 GMT
1GB 파일을 받지 않고도 크기와 타입만 확인할 수 있다.
참고
- RFC 9110 - HTTP Semantics: https://www.rfc-editor.org/rfc/rfc9110.html#name-head