웹/HTTP

HTTP 헤더에 대해서

ahgle 2022. 9. 20. 16:04
728x90
반응형

HTTP Header

HTTP 헤더는 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해주는 HTTP 구성 중 한 부분이다. 가장 앞 단에 있는 데이터이기 때문에 헤더 라고 표현하며, 헤더 뒤로 이어지는 데이터는 페이로드 혹은 바디로 불린다.

 

HTTP 헤더의 종류

  • General Header : 요청과 응답 모두에 적용되지만 바디에서 최종적으로 전송되는 데이터와는 관련 없는 헤더
  • Request Header : 페치(fetch)될 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더
  • Response Header : 위치 또는 서버 자체에 대한 정보(이름,버전 등)와 같이 응답에 대한 부가적인 정보를 같는 헤더
  • Entity Header : 컨텐츠 길이나 MIME 타입과 같이 Entity 바디에 대한 자세한 정보를 포함하는 헤더

아래는 본인의 티스토리 메인 접속 시, 확인할 수 있는 헤더 정보이다.

(F12 단축키를 눌러 개발자도구를 통해 확인이 가능하다)

 

Request Header

요청 헤더는 클라이언트 자체에 대한 자세한 정보를 포함한다.

메세지의 컨텐츠와는 관련이 없는 헤더이며 HTTP 요청 메세지에서만 사용되고 가장 방대하다.

 

[주요 항목]

-Host : 요청하는 호스트에 대한 호스트명 및 포트 번호(필수) 

 -만약 Host 필드를 생략하면 웹서버에서는 400 Bad Request를 응답하는 것이 원칙이다.

 -이 host필드에 의해 가변성을 부여해서 동일 ip주소를 갖는 단일 서버에 여러 사이트들을 구축 가능하다(Virtual Hosting)

 -host필드에서는 도메인명, 호스트명 모두를 포함하는 전체 URI 지정이 필요하다.

 

-From : 클라이언트 사용자 메일 주소 

 - 주로 검색엔진 웹 로봇의 연락처 멩리 주소를 나타낸다.

 - 때로는 이 연락처 메일 주소를 User-agent 항목에 두는 경우도 있다.

 

-Cookie : 서버에 의해 Set-Cookie로 클라이언트에게 설정된 쿠키 정보를 보냄

 

-Referer : 바로 직전에 머물었던 웹 링크 주소(URL)

 - 만일 URL을 주소창에 직접 입력하거나, 북마크ㅡ 사엥서 선택하는 경우 아래와 같이 blank로 표시된다.

    ex ) Referer : about :blank

 

-User-Agnet : 클라이언트 소프트웨어(웹브라우저) 명칭 및 버전 정보

 

-Accept : 클라이언트 자신이 원하는 미디어 타입 및 우선순위를 서버 측에 알려줌

 - 텍스트(text/html, text/plain .....), 이미지(image/jpeg...) 등

    ex) 'Accept : */*  --> 어떤 미디어 타입도 가능함을 의미, `Accept : image/* --> 모든 종류의 이미지 유형이 가능

  - Accept-Charset : 클라이언트 자신이 원하는 문자 집합

  - Accpet-Encoding : 클라이언트 자신이 원하는 문자 인코딩 방식

  - Accpet-Language : 클라이언트 자신이 해석 가능한 언어(원하는 언어)

 

-If-Modified-Since : 제시한 일시 이후로만 변경된 리소스를 취득 요청함

 

Response Header
특정 유형의 HTTP요청이나 특정 HTTP헤더를 수신했을 때, 이에 응답한다.

 

[주요 항목]

- Server : 웹서버 소프트웨어 정보를 나타낸다

- Set-Cookie : 웹 서버 측에서 클라이언트에게 세션 쿠키 정보를 설정한다.

  - `속성이름( attribute)/속성값(value);` 형태로 다수 정보들이 설정된다.

  - RFC 2965에서 규정된다.

- Allow : 해당 엔터티에 대해 서버 측에서 지원 가능한 HTTP 메소드의 리스트를 나타낸다.

              (때론, HTTP 요청 메소드 OPTIONS에 대한 응답용 항목이다)

- X-Powered-By : 서버 내 시스템 이름을 알리기 위해 반환한다

  -  RFC 규격 표준은 아니지만 사실 상의(de-facto) 표준

 

 

참고 링크

http://www.ktword.co.kr/test/view/view.php?m_temp1=5905

728x90

' > HTTP' 카테고리의 다른 글

URI, URL, URN에 대해서  (0) 2022.11.17