본문으로 건너뛰기

쿠키와 세션의 차이

쿠키와 세션은 HTTP의 무상태(stateless) 특성을 보완하여 사용자 상태를 유지하는 메커니즘이지만, 여러 측면에서 중요한 차이가 있습니다.

✔️ 데이터 저장 위치

쿠키는 클라이언트 측 브라우저에 저장되는 반면, 세션은 서버 측에 저장됩니다. 세션은 서버에 데이터를 저장하고 세션 ID만 쿠키를 통해 클라이언트에 전달합니다.

✔️ 보안성

쿠키는 클라이언트에 저장되므로 사용자가 직접 접근하거나 수정할 수 있어 보안에 취약합니다. 반면 세션은 중요 정보가 서버에 저장되어 상대적으로 안전합니다.

✔️ 용량 제한

쿠키는 일반적으로 브라우저당 도메인별로 4KB 정도로 제한되어 있습니다. 세션은 서버 리소스에 따라 다르지만 쿠키보다 훨씬 많은 데이터를 저장할 수 있습니다.

✔️ 라이프사이클

쿠키는 개발자가 설정한 만료 시간까지 유지되며, 만료 시간을 설정하지 않으면 브라우저를 닫을 때 삭제됩니다. 세션은 서버의 설정에 따라 관리되며 일정 시간 요청이 없으면 만료되는 경우가 많습니다.

✔️ 성능 영향

쿠키는 모든 HTTP 요청에 함께 전송되므로 쿠키가 많을수록 네트워크 트래픽이 증가합니다. 세션은 서버 메모리를 사용하므로, 서버에서 관리하는 사용자의 세션이 많을수록 서버 부하가 증가할 수 있습니다.

일반적으로 사용자 선호 설정이나 로그인 하지 않은 유저의 장바구니와 같은 비민감 정보는 쿠키에, 로그인 정보와 같은 중요 데이터는 세션에 저장하는 것이 적합합니다. 최근에는 JWT와 같은 토큰 기반 인증 방식이 많이 사용되고 있습니다.

Loading comments...