https://github.com/lhoju0158

개발 끄적끄적

[Spring] cookie, token, session

lhoju0158 2025. 8. 8. 23:37

1. 쿠키

쿠키를 이용해서 서버는 브러우저에 데이터를 넣을 수 있다. 정보 기억을 목적으로

해당 웹사이트에 정보를 보낼 때 마다, 브라우저는 해당 쿠키와 함께 요청을 한다. 보통 인증에 사용되지만, 그 외의 정보도 사용할 수 있다. 

추가로 앱에는 쿠키가 없다. 브라우저에만 쿠키가 존재한다. 

 

2. 세션

Stateless라 함은 서버로 가능 모든 요청이 이전 요청과 독립적으로 다뤄진다는 뜻이다. 따라서 요청할 때마다 브라우전는 서버에게 정보를 알려줘야 한다. 그 때 세션을 이용한다. 

만일 브라우저가 회원가입을 하면, 세션에 해당 정보를 저장하고 서버는 쿠키에 세션 정보를 담아서 브라우저에게 전달한다.

이후 브라우저가 쿠키에 세션 정보를 담아서 서버에게 요청하면 서버는 세션을 확인해 유효성을 검증한다. 

 

3 . JWT 토큰

사용자가 늘어남에 따라 세션 DB는 늘어나고, 저장공간이 많이 사용된다. 이때 사용되는 것이 JWT이다. JWT로 사용자 인증을하면, 세션 DB를 가질 필요가 없다. 

로그인 이후 토큰을 같이 전달해서 사용자임을 입증한다.