본문 바로가기
IT 개발 이야기/WebService

HTTP Header의 구조와 주요 정보: 웹 서비스 이해하기

by 개발자 Aiden 2023. 2. 24.
반응형

HTTP Header는 웹 통신에서 중요한 역할을 하는 부분입니다. 이를 통해 클라이언트와 서버는 서로에게 필요한 정보를 주고받게 됩니다. 이번 글에서는 HTTP Header의 구조와 주요 정보에 대해 알아보겠습니다.

HTTP Header란?

HTTP( HyperText Transfer Protocol )는 웹 문서나 데이터를 전송하기 위한 규약입니다. 이 규약에 따라 클라이언트와 서버는 서로 메시지를 교환합니다. HTTP Header는 이 메시지 교환 과정에서 필요한 부가적인 정보를 담는 부분입니다.

HTTP Header


HTTP Header의 주요 정보

웹 서비스에서 HTTP Header 정보를 확인하면 다양한 필드 항목을 볼 수 있습니다. 이 중 몇 가지 주요 정보를 살펴보겠습니다.

1. General

요청과 응답 모두 사용되는 헤더 필드
※ HTTP/1.1부터는 General header로 구체적으로 분류하지 않음

General
  Request URL: https://aday7.tistory.com/manage/autosave
  Request Method: POST
  Status Code: 200 OK
  Remote Address: 211.249.222.33:443
  Referrer Policy: strict-origin-when-cross-origin
  • Request URL : 서비스 요청 주소
  • Request Method : 서비스 요청 방식 (GET, POST 등)
  • Status Code : 서비스 요청에 대한 응답 상태 코드
  • Remote Address : 서비스 접근 주소
  • Referrer Policy : 브라우저에서의 참조자 정책
반응형


2. Request Header

요청 클라이언트에 대한 부가적인 정보로 사용되는 헤더 필드

Request Headers
  POST /manage/autosave HTTP/1.1
  Accept: application/json, text/plain, */*
  Accept-Encoding: gzip, deflate, br
  Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
  Connection: keep-alive
  Content-Length: 6462
  Content-Type: application/json;charset=UTF-8
  Cookie: __T_=1; __gads=ID=9b45bbef7ffcd8b9-22bc503151d90035:T=1673850280:RT=1673850280:S=ALNI_MYG0pTAOwLDL7w5zuKXd-7MOkNi_Q
         ; _ga_BVHCZ95BJ7=GS1.1.1673931795.3.1.1673932733.0.0.0; _ga_DE9M8BHLT4=GS1.1.1674002464.1.1.1674002502.0.0.0; _gcl_a
         u=1.1.1867206986.1674017954; FCNEC=%5B%5B%22AKsRol804vBiDU9snbcB2mCRG2vUGE19ZORtDcsSl1MmU_Yv83gmC2H507cEB_yAeAjAXq8d
         UHwJLa-570hBwi_YO0eqIX3gTgT5_kbDqvOBVpM-GD0MKKMB09r6ZZhwrQAK13SvT20-mAbnSy6AqV_HUYOt-lKHFw%3D%3D%22%5D%2Cnull%2C%5B%
         5D%5D; ch-veil-id=da98cd12-9145-41aa-9572-c78cd53d77ba; _clck=hohizk|1|f8f|0; _ga_VNJYV1892X=GS1.1.1674228226.2.1.16
         74230817.0.0.0; TSSESSION_KEEP=1; TSSESSION=b14525818bf131f7ee464b57755c270512ee9275; _ga=GA1.1.1579873410.167385008
         4; __T_=1; __gpi=UID=00000ba53d19135f:T=1673850280:RT=1677127753:S=ALNI_MYNrEfL-VYdzydvwiDw4srsTfz9vA; _ga_8KR450XQB
         Z=GS1.1.1677139961.60.1.1677140195.0.0.0; _T_ANO=m8lSFpTtaOD7JRGMcOBlu2mSqDoN4IGc6KB/uV6RzzJ7iJvN1ytRCYKDAmckFWK6VSz
         HEZwThn5mJfn1L6wLDTkKjs4bh5pO+UZ6DB6aIHDNHVARp/N7KK05RuyrIL7NMBIaO2uFIdmwfMauqpP6S/ncgUO0s1WW7VUku4lXUKUu5cMOOzVNYUD
         U4KsUBrm4q6dFfyJgehs/ds9fpUyGNb4AyMQRcEeghbH7d9iKQyf53QXepgf0AeDZlRM44LKqWYCdxcT0c6OM4egTBre6cDp2ILULuU34MFOyw7tlriT
         5WbU79ujtGfiTYh2SaLTxSJbp/I3r70xtKnp8Q9gE9Q==
  Host: aday7.tistory.com
  Origin: https://aday7.tistory.com
  Referer: https://aday7.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F
  Sec-Fetch-Dest: empty
  Sec-Fetch-Mode: cors
  Sec-Fetch-Site: same-origin
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
  sec-ch-ua: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
  sec-ch-ua-mobile: ?0
  sec-ch-ua-platform: "Windows"
  • Accept : 클라이언트가 수신 처리 가능한 MIME 타입
  • Accept-Encoding : 클라이언트가 수신 처리 가능한 압축 방식
  • Accept-Language : 클라이언트가 사용 가능한 언어 정보
  • Connection : 연결 관리 모델 옵션 정보
  • Cookie : 클라이언트가 서버에 제출하는 쿠키 정보
  • Host : 요청받을 서버의 도메인 정보
  • Origin : 서비스 요청을 시작한 주소 정보
  • Referer : 현재 서비스 요청이 발생한 페이지의 URL 정보
  • User-Agent : 클라이언트의 브라우저나 애플리케이션 정보
  • Sec-* : 요청 모드의 메타데이터 정보


3. Response Header

응답 서버에 대한 부가적인 정보로 사용되는 헤더 필드

Response Headers
  HTTP/1.1 200 OK
  Date: Thu, 23 Feb 2023 14:55:53 GMT
  Content-Type: application/json
  X-UA-Compatible: IE=Edge
  Set-Cookie: TSSESSION_KEEP=1; expires=Sat, 25-Mar-2023 14:55:53 GMT; Max-Age=2592000; path=/; domain=tistory.com; HttpOnly
  Set-Cookie: TSSESSION=b14525818bf131f7ee464b57755c270512ee9275; expires=Sat, 25-Mar-2023 14:55:53 GMT; Max-Age=2592000;
              path=/; domain=tistory.com; HttpOnly
  Cache-Control: no-cache, private
  Transfer-Encoding: chunked
  Content-Encoding: gzip
  • Data : 응답 메시지 생성 날짜
  • Set-Cookie : 서버가 클라이언트에게 제공하는 쿠키 정보
  • Cache-Control : 캐시 제어 옵션
  • Transfer-Encoding : 응답 메시지 압축 방식

 

4. Representation Header

메시지 본문으로 전송된 데이터(html, json)에 대한 부가적인 정보로 사용되는 헤더 필드
※ 요청/응답 헤더 필드에서 속성 정보 확인

  • Content-Type : 메시지 데이터의 타입 형식
  • Content-Encoding : 메시지 데이터의 압축 방식
  • Content-Language : 메시지 데이터의 사용 언어
  • Content-Length : 메시지 데이터의 길이
  • Content-Location : 응답 메시지 데이터의 대체 위치


이렇게 HTTP Header는 웹 통신에서 중요한 정보를 담고 있습니다. 이를 통해 클라이언트와 서버는 서로 필요한 정보를 주고받게 됩니다. 다음 글에서는 HTTP Header를 활용한 실제 웹 서비스 구현 예제를 통해 더 깊게 알아보겠습니다.


※ HTTP Referer 헤더 정보 사용 방법( 사이트 유입 분석 )

 

[Web] HTTP Referer 헤더 정보 사용 방법( 사이트 유입 분석 )

HTTP Referer 정보는 서비스 요청 시 요청이 발생한 현재 페이지의 주소이다. 서비스 요청 시 HTTP Header 필드 중 하나인 Referer 정보를 서버에게 전달해 준다. 전달된 Referer 정보는 사이트 유입 분석을

aday7.tistory.com

반응형

댓글


loading