R's Hacking Daily Log

HTTP in detail (3) 본문

TryHackMe/Walkthroughs

HTTP in detail (3)

hanhxx 2023. 4. 7. 09:52

Header는 client가 request를 만들 때 추가할 수 있는 데이터를 말한다.
http request & response를 살펴보면 첫 번째 라인을 제외한 내용은 "Header" : value 형태로 되어있는 것을 볼 수 있다.
이번 글에서는 대표적으로 볼 수 있는 request & response header를 살펴보자.

 

Common Request Headers 

Host ::

요청을 보낼 대상 서버 호스트와 포트 번호 지정 

User-agent ::

User side의 일꾼, browser를 생각하면 된다. broswer의 종류와 버전에 대한 정보가 기재

Content-length ::

서버에게 보낼 데이터의 길이를 나타낸다.

이 데이터를 보고 서버는 자신이 받은 데이터의 길이와 비교해서 중간에 잃어버린 데이터가 있는지 확인할 수 있다.

Cookie ::

사용자의 정보를 기억하는 데에 사용할 쿠키 지정

 

Accept-Encoding ::

인터넷을 통해 데이터를 보낼 때, 데이터 크기를 줄이기 위해서 브라우저가 지워하는 압축 방식

 

Common Response Headers

Set-cookie ::

서버로 다시 돌아왔을 때 각 요청에 대한 정보를 저장하기 위한 쿠기 생성

Cache-content ::

서버의 응답을 브라우저에 얼마나 오래 저장해 둘 지에 대한 기간.

Content-type ::

어떤 유형의 데이터인지를 니티내는 값으로 이 정보를 보고 브라우저는 데이터를 어떻게 처리할지 알 수 있다. 

 

Content-Encoding ::

데이터를 압축할 때 사용한 방식이 무엇인지 기재

 

 


Cookies

쿠키는 작은 데이터 조각으로 서버로부터 set-cookie 헤더를 받았을 때 사용자 컴퓨터에 저장된다.

이후 사용자가 요청을 보낼 때마다 이 쿠키가 같이 서버로 날아가게 된다.

 

HTTP는 stateless 프로토콜이기 때문에 서버에게 사용자가 누구인지, 개인화 설정 값 등의 내용을 상기시키기 위해 쿠키를 사용한다.

 

쿠키는 사람이 읽기 쉬운 cleartext 형태가 아니라 보통 토큰 형태로

사람이 직관적으로 내용을 이해할 수 없는 모양으로 만들어진다.

 

* token = 간단히 말하자면 16진수의 random 값이라 생각하면 된다.

* Cookie value = 개발자 도구를 이용하면 브라우저 상에서 쉽게 확인해 볼 수 있다.

 

 

2023.04.02 - [Daily-Note] - Cookie & Session & Token

 

Cookie & Session & Token

Cookie cookie에 대해 살펴보기 전에 cookie가 왜 필요한지에 대해 먼저 알아보도록 하자. web을 사용하다고 하면 Application layer에서는 HTTP(s) 프로토콜을 사용한다. HTTP의 특징 중 하나는 "Stateless protocol"

10halip1ap-47.tistory.com

쿠기에 대한 자세한 내용은 따로 참고하기를!

'TryHackMe > Walkthroughs' 카테고리의 다른 글

Vulnversity (1)  (0) 2023.04.14
HTTP in detail (2)  (0) 2023.04.04
HTTP in detail (1)  (0) 2023.04.03
Traffic Analysis Essentials (3)  (0) 2023.04.02
Traffic Analysis Essentials (2)  (0) 2023.04.02
Comments