백엔드 공부 메모/네트워크

HTTP 헤더(1) - 개요

볼륨조절불가 2024. 2. 29. 20:32
728x90

 

 

* 해당 게시글은 <그림으로 배우는 Http&Network Basic>을 읽고 정리하면서 공부하기 위해 메모하듯 작성하는 글입니다.

 

 


 

 

HTTP 헤더 필드

HTTP 버전과 확장 사양에 따라 지원하는 내용이 달라지기에, HTTP/1.1과 일반적으로 자주 사용되는 부분에 대해 다룸

역할

  • 리퀘스트와 리스폰스 전달시 부가적으로 중요한 정보를 포함하는 데 사용
  • 아래 정보를 브라우저나 서버에 제공하는 데 사용됨
    • 메시지 바디의 크기
    • 사용하고 있는 언어
    • 인증 정보 등

HTTP 헤더 필드의 구조

  • 헤더 필드 명과 헤더 필드 값으로 구성
  • 필드명과 값은 콜론(:)으로 구분
  • 하나의 필드가 여러 필드 값을 포함할 수도 있음
Content-Type: text/html
위의 예시에서 헤더 필드 명은 Content-Type, 필드 값은 text/html

 

 


 

 

헤더 필드의 4가지 구분

일반적 헤더 필드

리퀘스트, 리스폰스 메시지 둘 다 사용되는 헤더

리퀘스트 헤더 필드

리퀘스트 메시지에 사용되는 헤더
  • 리퀘스트의 부가적 정보, 클라이언트 정보, 리스폰스의 콘텐츠에 대한 정보를 포함

리스폰스 헤더 필드

리스폰스 메시지에 사용되는 헤더
  • 리스폰스의 정보와 서버의 정보를 제공하거나, 클라이언트의 추가 정보를 요구하는 등에 사용

엔티티 헤더 필드

리퀘스트, 리스폰스 메시지에 포함된 엔티티에 관한 헤더
  • 콘텐츠 갱신 시간 등 엔티티에 대한 정보를 전달할 때 사용

그 외 헤더 필드

RFC2616에 정의된, HTTP/1.1에서 공식 지원하는 47종의 헤더 이외의 확장 헤더 필드
 
 

 
 

캐싱 프록시의 동작을 정의하는 헤더

End-to-end 헤더

  • 리퀘스트나 리스폰스의 최종 수신자에게 전송되는 헤더
  • 캐시에서 구축된 리스폰스 중 보존되어야 하고, 다시 전송되지 않으면 안됨

Hop-by-hop 헤더

  • 한 번 전송에 대해서만 유효하고, 캐시와 프록시에 의해 전송되지 않는 헤더
  • HTTP/1.1과 그 이후에 사용되는 Hop-by-hop 헤더는 Connection 헤더 필드에 열거해야 함

Hop-by-hop 헤더 종류

  • Connection
  • Keep-Alive
  • Proxy-Authenticate
  • Proxy-Authorization
  • Trailer
  • TE
  • Transfer-Encoding
  • Upgrade

위의 8개를 제외한 나머지는 모두 End-to-end 헤더로 분류

728x90