Moon Blog

Web Background - Cookie & Session 본문

Web Hacking

Web Background - Cookie & Session

문블룸 2022. 3. 28. 17:06
  • 쿠키

HTTP 프로토콜의 ConnectionlessStateless 특징 때문에 웹 서버가 클라이언트를 기억하지 못하는 것을 보완하기 위해 쿠키(Cookie)가 탄생함

 

- Connectionelss : 하나의 요청에 하나의 응답을 한후 연결을 종료하는 것을 의미함 -> 새 요청이 있을 때 마다 항상 새로운 연결을 맺음 

- Stateless: 통신이 끝나 후 상태 정보를 저장하지 않는 것을 의마함 -> 이전 연결에서 사용한 데이터를 다른 연결에서 요구할 수 없음

 

쿠키는 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용되고 Key-Value 형태의 값을 가짐

우리가 흔히 "다시 보지 않기", "7일간 표시하지 않기" 등의 팝업 창은 쿠키를 이용해서 해당 정보를 기록함

대부분의 웹 서버에서는 클라이언트의 로그인 상태와 이용자를 구별이 필요함, 이때 클라이언트를 식별할 수 있는 값을 쿠키에 저장해 사용

 

  • 세션

세션은 쿠키를 변조해 서버에 데이터를 요청하는 것을 막기 위해 고안된 방식임

쿠키에 인증 상태를 저장하지만 클라이언트가 인증 정보를 변조할 수 없게 하는 세션은 인증 정보를 서버에 저장하고 해당 데이터를 접근할 수 있는 Key(랜덤 문자열)을 생성해 클라이언트에게 전달함 => Key는 흔히 Session ID라고 불림

즉, 쿠키에 포함된 Session ID를 사용해 서버에 저장된 세션 데이터에 접근함

 

- 쿠키와 세션의 차이점

쿠키는 데이터 자체를 이용자가 저장하고, 세션은 데이터를 서버가 저장함

 

 

https://moon-lab.tistory.com/6?category=1013904 

 

2주차 개념 스터디

HTTP란 무엇인가? HTTP는 Hypertext Transfer Protocal의 약자로 웹 상에서 서버와 클라이언트 간의 데이터를 주고받을 수 있는 프로토콜을 의미한다. HTTP 1.1 / 2.0 HTTP 1.1 : 연결당 하나의 요청과 응답을 처..

moon-lab.tistory.com

(해당 링크를 들어가면 쿠키와 세션에 대해 쉽게 알 수 있음)

 

Ref) https://dreamhack.io/ (dreamhack - Web Hacking)

'Web Hacking' 카테고리의 다른 글

Web Background - CSRF  (0) 2022.04.01
Web Background - XSS  (0) 2022.03.30
Web Background - SOP, CORS  (0) 2022.03.28
Web Background - HTTP/HTTPS  (0) 2022.03.23
Web Background - WEB  (0) 2022.03.23