HTTP 헤더의 구조에 대해 설명해 주세요.
HTTP 헤더는 HTTP 본문(body) 및 요청/응답에 대한 정보를 포함한다.
본문에 대한 정보는 본문 컨텐츠 길이 등 본문 컨텐츠와 관련이 있다.
HTTP 1.1에서 헤더는 세 부분으로 나눌 수 있다.
일반 헤더
요청/응답 헤더
엔티티 헤더
각각의 나뉜 헤더의 역할
일반 헤더(General Header)
전송하는 HTTP 본문 컨텐츠와 관련 없고, 요청/응답이 생성된 날짜 및 시간 등과 같은 HTTP 통신에 대한 일반적인 정보가 포함된다.
이 헤더는 HTTP 요청과 응답 메시지에 공통으로 사용된다.
요청/응답 헤더(Request/Response Header)
서버에 요청하면 요청 헤더가 있고, 서버가 클라이언트/브라우저로 응답을 다시 보낼 때 응답 헤더가 있다.
요청 헤더는 요청한
URL, 메서드(GET, POST, HEAD 등), 요청 생성에 사용된 브라우저 및 기타 정보와 같은 요청에 대한 정보가 포함된다.브라우저라는 용어는 사용자 에이전트(
User Agent)라고도 하는데, 페이지에 대한 간단한 요청조차도 사용중인 브라우저 및 운영 체제에 대한 정보를 전송해야한다.응답 헤더는 사용자가 특성 페이지 또는 리소스에 대한 요청을 보낸 후 서버에서 브라우저에 의해 수신되며 컨텐츠에 사용된 인코딩, 서버 시스템에서 응답을 생성하는 데 사용되는 서버 소프트웨어 및 기타 정보를 포함한다.
대부분의 사이트는 해커가 서버에서 어떤 소프트웨어가 사용되고 있는지 알기 어렵도록 서버 정보를 숨긴다. 이것은 웹서버 구성파일에 설정 가능하다.
엔티티 헤더(Entity Header)
이 헤더에는 실제 메시지 또는 전송중인 HTTP 본문에 대한 정보가 포함된다.
컨텐츠 길이, 컨텐츠 언어, 인코딩, 만료 날짜 및 기타 중요한 정보와 같은 정보
이제 브라우저는 수신된 데이터를 읽기 시작하고, 헤더 섹션에 있는 CSS, Javascript, 이미지 파일의 URL에 연결해 별도의 HTTP 요청을 통해 해당 리소스를 가져 오기 위해 모든 요청을 전송한다.
Last updated