HEAD

HTTP HEAD

안전 (Safe)
멱등 (Idempotent)
캐시 가능
요청 본문아니오
응답 본문아니오

개요

HEAD는 GET과 똑같이 동작하되 응답 본문 없이 헤더만 돌려받습니다. 파일을 실제로 내려받지 않고 크기·타입·수정 시각·존재 여부만 확인할 때 유용합니다.

자세히

다운로드 전 `Content-Length`로 용량을 미리 확인하거나, `ETag`·`Last-Modified`로 캐시 유효성을 점검할 때 자주 씁니다. 링크가 살아 있는지(200/404) 가볍게 검사하는 용도로도 적합합니다.

서버는 GET과 동일한 헤더를 계산해 보내야 하지만 본문은 생략합니다. 정적 서버는 대부분 자동 처리하지만, 동적 핸들러를 직접 짤 때는 HEAD에서 본문을 만들지 않도록 분기해야 불필요한 연산을 아낍니다.

요청 / 응답 예시

요청
HEAD /downloads/app.zip HTTP/1.1
Host: example.com
응답
HTTP/1.1 200 OK
Content-Length: 10485760
Content-Type: application/zip
Accept-Ranges: bytes

코드로 보기

curl -I https://example.com/downloads/app.zip
const res = await fetch('/downloads/app.zip', { method: 'HEAD' });
const size = res.headers.get('Content-Length');

흔한 실수

주로 함께 쓰는 상태코드

관련 메서드

관련 헤더