티스토리 뷰

728x90

 

안녕하세요 cocoder 입니다. 이번 포스팅은 개발자 기술면접에서도 나올 수 있을만한 주제인 세션과 쿠키의 차이점에 대해서 알아보겠습니다.

 

웹사이트를 방문할 때마다 우리는 눈에 보이지 않는 다양한 기술적 상호작용을 경험합니다. 그중 세션과 쿠키는 사용자가 웹사이트를 탐색할 때 개인화된 경험을 제공하기 위해 중요한 역할을 합니다. 하지만 둘 사이에는 몇 가지 중요한 차이점이 있습니다.

 

쿠키(Cookie)란?


쿠키는 사용자의 컴퓨터에 저장되는 작은 텍스트 파일입니다. 웹사이트를 방문할 때 서버가 사용자의 웹 브라우저에 이 파일을 전송합니다. 쿠키는 주로 사용자의 선호도, 로그인 상태, 페이지 방문 정보 등을 저장하는 데 사용됩니다.

 

예를들어 '광고 오늘 하루 보지 않기' 라든가 '비로그인 상태에서 쇼핑카트에 물건담기' 와 같은 비교적 가벼운 데이터들을 저장합니다.

 

장점
  • 사용자가 웹사이트를 재방문할 때 맞춤형 설정을 유지할 수 있습니다.
  • 네트워크 트래픽을 줄이는 데 도움이 됩니다.
단점
  • 보안 취약점이 될 수 있습니다. 쿠키 데이터가 암호화되지 않은 경우, 정보가 탈취될 수 있습니다.
  • 사용자의 컴퓨터에 저장되므로, 사용자가 쿠키를 삭제하면 정보도 함께 사라집니다.

 

세션(Session)이란?


세션은 서버 측에서 관리됩니다. 사용자가 웹사이트에 접속할 때마다 서버는 각 사용자에 대해 고유한 세션 ID를 생성하여 관리합니다. 이 ID를 통해 서버는 사용자의 상태를 유지하며, 사용자가 서버에 요청을 보낼 때마다 이 세션 ID를 사용하여 사용자를 식별합니다.

 

예를들어 '로그인한 사용자의 정보' 등을 세션에 저장하고 쿠키와 비교하였을때 비교적 무거운 데이터들을 저장합니다.

 

장점
  • 사용자 정보가 서버에 저장되기 때문에 보안성이 높습니다.
  • 쿠키를 사용하지 않아도 사용자의 세션 정보를 유지할 수 있습니다.
단점
  • 서버의 자원을 사용하기 때문에 많은 사용자가 동시에 접속하는 경우 서버에 부하가 가중될 수 있습니다.
  • 사용자가 브라우저를 닫거나 세션이 만료되면 정보가 사라집니다.

 

주요 차이점


저장 위치

 

  • 쿠키는 사용자의 컴퓨터에 저장되며, 세션은 서버에 저장됩니다.
보안

 

  • 세션은 쿠키보다 상대적으로 보안성이 높습니다. 세션 정보는 서버에 저장되므로 직접적인 정보 유출 위험이 적습니다.
자원 사용

 

  • 세션은 서버의 자원을 사용하기 때문에, 많은 양의 세션 정보를 관리해야 할 경우 서버 부하가 증가할 수 있습니다.
수명

 

  • 쿠키는 사용자가 직접 삭제하지 않는 한 만료 기간까지 유지되지만, 세션은 브라우저가 닫히거나 세션 타임아웃이 발생하면 종료

 

한마디 정리

세션은 서버에 저장되고 쿠키는 사용자의 컴퓨터에 저장되며 세션은 무거운정보(로그인 정보 등등...) 쿠키는 가벼운 정보(장바구니에 담긴 상품정보 등등...)를 저장하는데 사용됩니다.
728x90