본문 바로가기

Spring Boot(스프링 부트)

Spring Boot > 세션과 쿠키

쿠키 vs 세션 (출처: https://ji5485.github.io/post/2020-08-01/what-is-cookie-and-session/)

 

세션(Session)

 

세션은 서버 측에서 사용자별로 고유하게 상태 정보를 저장하는 방식이다.

사용자가 웹 애플리케이션에 접속하면 서버는 고유한 세션 ID를 생성하고 이를 사용하여 해당 사용자의 상태 정보를 관리한다.

세션은 상태 정보가 서버에 저장되기 때문에 보안이 상대적으로 높으며, 일정 시간이 지나면 만료된다. 또 세션 클라이언트는 세션 ID를 쿠키나 URL 파라미터로 서버에 전송한다.

세션은 로그인 상태 유지, 장바구니 정보 저장 등 사용자 별로 유지해야 할 정보를 저장할 때 사용된다.

 

쿠키(Cookie)

 

쿠키는 사용자 브라우저에 저장되는 작은 데이터 조각이다.

서버가 HTTP 응답의 일부로 쿠키를 보내고, 클라이언트는 이후 요청 시, 이 쿠키를 포함시켜 서버로 전송한다.

쿠키는 클라이언트(브라우저)에 저장되고 유효 기간이 있다.

쿠키는 사용자 추적, 로그인 상태 유지, 사용자 설정 저장 등 클라이언트 측에서 관리할 필요가 있는 정보를 저장할 때 사용된다.

 

세션과 쿠키를 정리하자면 다음과 같다.

특징 세션(Session) 쿠키(Cookie)
저장 위치 서버 클라이언트(브라우저)
보안 높음
유효 시간 설정에 따라 다름
저장 데이터 크기 서버 용량에 따라 다름 각 쿠키당 4KB 제한
사용 용도 로그인 상태, 사용자 상태 정보 등 사용자 설정, 사용자 추적 등

 

정리하자면, 세션은 보안지 중요한 사용자 상태 정보를 저장하는 데 적합하다.

쿠키는 클라이언트 측에서 관리할 데이터에 유용하다.