쿠키란?

쿠키는 서버에 요청할 때마다 사용자가 인증 절차를 통해 로그인을 해야하는 불편함이 있었다.

<aside> 💡 <Key, Value> 형태의 문자열로 브라우저에 저장되어 사용자를 인식하거나 일부 데이터를 저장할 때 사용합니다. 서버가 클라이언트에 정보를 전송할 때 저장하고자 하는 정보를 응답 헤더에 저장하여 전달합니다.

</aside>

문제점

Untitled

  1. 쿠키 노출 시 인증요청에 해당하는 정보가 쉽게 노출된다.
  2. 웹 브라우저마다 Cookie에 대한 지원 형태가 다르기 때문에 브라우저 간 공유가 불가능하다.
  3. Cookie 사이즈가 4KB로 제한되어 있다 → 제한되기 때문에 많은 양의 데이터 저장이 불가능

쿠키 & 세션

<aside> 💡 Cookie는 보안이 좋지 않고, 세션은 서버에 부하가 오고, 속도가 느린 단점들을 상호 보완하기 위해 나온 방법 !

</aside>

Untitled

  1. 사용자가 서버에 요청을 보낼 때 쿠키 정보를 같이 보낸다.
  2. 서버는 전달한 쿠키에 Session ID 가 있는지 확인한다.
  3. Session ID가 존재한다면 상태 유지, 없다면 새로 세션 저장소에 저장한다.
  4. 사용자에게 요청에 대한 응답을 보낼 때 쿠키에 Session ID 정보를 같이 넣어서 보낸다.