HEAD

HTTP 메서드

HTTP 메서드 HEAD의 사양

서버가 응답에 메시지 본문을 보내지 않아야 한다는 점(즉, 응답이 헤더 섹션의 끝에서 종료됨)을 제외하면 HEAD 메서드는 GET과 동일합니다. 서버는 페이로드 헤더 필드(섹션 3.3)를 생략할 수 있다는 점을 제외하고는 요청이 GET 요청이었을 때와 동일한 헤더 필드를 HEAD 요청에 대한 응답으로 보내야 합니다. 이 방법은 표현 데이터를 전송하지 않고 선택한 표현에 대한 메타데이터를 얻는 데 사용할 수 있으며, 하이퍼텍스트 링크의 유효성, 접근성 및 최근 수정 사항을 테스트하는 데 자주 사용됩니다.

헤드 요청 메시지 내의 페이로드는 정의된 의미가 없으며, 헤드 요청에 페이로드 본문을 보내면 일부 기존 구현에서 요청을 거부할 수 있습니다.

헤드 요청에 대한 응답은 캐시가 가능하며, 캐시-제어 헤더 필드에 달리 명시되지 않는 한 캐시는 후속 헤드 요청을 충족하는 데 사용할 수 있습니다([RFC7234] 섹션 5.2). HEAD 응답은 이전에 캐시된 GET에 대한 응답에도 영향을 미칠 수 있습니다; [RFC7234] 섹션 4.3.5 참조.

HTTP 메서드(HEAD)는 인터넷 엔지니어링 태스크포스(IETF) 및 월드와이드웹 컨소시엄(W3C)에 의해 문서 RFC 7231의 섹션 4.3.2에 명시되어 있습니다.

HEAD 메서드에 대한 설명

HTTP 메서드 HEAD는 특히 리소스의 실제 콘텐츠나 '본문'을 다운로드하지 않고 리소스에 대한 정보를 얻을 때 HTTP 프로토콜에서 핵심적인 역할을 합니다. 전체 파일이나 웹 페이지를 다운로드하지 않고 파일의 크기나 특정 링크가 여전히 작동하는지 여부만 알고 싶다고 상상해 보세요. 바로 이 경우에 HEAD 메서드가 유용합니다.

HEAD 메서드의 주요 기능 및 장점:

  • 효율성: HEAD를 사용하면 리소스 자체를 다운로드하지 않고도 리소스에 대한 정보를 얻을 수 있습니다. 전체 데이터가 아닌 메타데이터만 필요할 때 특히 유용하며 대역폭과 시간을 절약할 수 있습니다.
  • 링크 검증: 종종 링크의 유효성을 테스트하는 데 HEAD 메서드가 사용됩니다. 서버가 HEAD 요청에 응답하면 일반적으로 링크가 유효하다는 의미입니다.
  • 파일 속성: 예를 들어 파일을 다운로드하지 않고 파일의 크기나 마지막으로 변경된 시점을 알고자 하는 경우 HEAD 메서드가 유용할 수 있습니다.
  • 캐시 관리: HEAD 요청에 대한 응답은 캐시가 가능하므로 서버와 캐시는 이를 사용하여 로컬에 저장된 리소스 버전이 여전히 최신 상태인지 확인할 수 있습니다.

간단하게 설명하면 다음과 같습니다: HEAD 메서드는 리소스에 대한 "빠른 보기"와 같습니다. 리소스를 자세히 살펴보거나 추가 데이터를 다운로드하지 않고도 리소스에 대한 기본 정보를 얻을 수 있습니다. 전체 다운로드를 결정하기 전에 메타데이터를 확인하고 리소스를 계속 사용할 수 있는지 확인하거나 파일의 속성을 파악할 수 있는 효율적인 방법입니다.

HTTP 메서드 HEAD의 예

Request header:
HEAD /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: application/json
Content-Length: 254
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache