HTTP Header는 웹 통신에서 중요한 역할을 하는 부분입니다. 이를 통해 클라이언트와 서버는 서로에게 필요한 정보를 주고받게 됩니다. 이번 글에서는 HTTP Header의 구조와 주요 정보에 대해 알아보겠습니다.
HTTP Header란?
HTTP( HyperText Transfer Protocol )는 웹 문서나 데이터를 전송하기 위한 규약입니다. 이 규약에 따라 클라이언트와 서버는 서로 메시지를 교환합니다. 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 헤더 정보 사용 방법( 사이트 유입 분석 )
'IT 개발 이야기 > WebService' 카테고리의 다른 글
[HTTPS] SSL/TLS 보안 프로토콜 이해하기( TLS 1.2 / TLS 1.3 ) (0) | 2023.03.10 |
---|---|
HTTP 상태(응답) 코드: 웹 통신의 핵심 이해하기 (0) | 2023.02.27 |
[Web] HTTP Referer 헤더 정보 사용 방법( 사이트 유입 분석 ) (0) | 2023.02.24 |
댓글