쿠키,세션,토큰

jeongol·2024년 9월 13일

쿠키란

  • 쿠키는 브라우저에 저장되는 작은 데이터 조각이며, key-value형태로 저장된다.
  • HTTP의 무상태성과 비연결성 특성에도 불구하고, 쿠키를 사용하여 마치 서버가 클라리언트의 인증 상태를 기억하는 것처럼 구현할수 있다.
  • 쿠키는 별도로 삭제 처리하거나 유효기간이 만료되지 않는 한, 서버와 통신할 때 자동으로 주고받게 된다.
  • 서버에 특정 API 요청을 했을 때 서버가 응답 시 헤더에 Set-Cookie 속성으로 쿠키 정보를 담아주면, 응답을 받은 브라우저는 쿠키를 브라우저에 자동으로 저장한다.
  • 서버에 http 요청 할 때 마다 브라우저에 저장되어 있는 쿠키는 자동으로 서버에 보내진다. (단, 동일한 Origin 또는 CORS를 허용하는 Origin에만 쿠키를 보낸다.

세션

  • 세션이란 사용자와 서버 간의 연결이 활성화된 상태이거나 인증이 유지되고 있는 상태를 말한다.
  • 과정 : 로그인 성공 → 서버에서 세션 생성 및 저장(key-value 형식) → key(sessionId)를 브라우저에 응답

토큰

  • 클라이언트에서 보관하는 암호화 또는 인코딩된 인증 정보를 의미한다. 서버의 상태를 유지하지 않고도 클라이언트의 인증 상태를 확인 할수 있게 한다.
  • 세션처럼 서버에서 사용자의 인증 정보를 보관할 필요가 없기 때문에 서버 부담을 줄여주는 인증 수단을 말한다.
  • 웹에서 인증 수단으로 사용되는 토근은 주로 jwt를 이용한다.

0개의 댓글