쿠키(Cookie)와 세션(Session)

Soyun_p·2025년 3월 10일
0

📖 지식

목록 보기
5/10
post-thumbnail

쿠키세션은 웹 개발에서 사용자 상태를 관리하는 두 가지 주요 개념입니다!
이 두 가지 개념을 서로 다른 방식으로 작동하지만, 사용자 경험을 향상시키고 웹 애플리케이션의 기능을 지원하는 데 중요한 역할을 합니다

HTTP 특징과 쿠키, 세션을 사용하는 이유

HTTP(Hypertext Transfer Protocol) 특징

HTTP는 웹 상에서 데이터를 전송하는 데 사용되는 프로토콜이다

  • 무상태성(Stateless): 각 요청은 독립적으로 처리되며, 이전 요청에 대한 정보를 유지하지 않는다
  • 비연결성(Connetionless): 요청과 응답이 완료되면 연결이 종료된다
  • 미디어 독립성(Media Independence): 다양한 형식의 데이터를 전송할 수 있다

쿠키와 세션의 사용 이유

  • HTTP의 무상태성과 비연결성 때문에, 쿠키는 클라이언트 측에 데이터를 저장하고, 세션은 서버 측에서 데이터를 관리한다

쿠키(Cookie)

쿠키는 웹 서버가 사용자의 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 이 데이터를 저장하고, 이후 동일한 서버에 요청을 보낼 떄 함께 전송한다.

쿠키의 3가지 목적

  1. 세션 관리(Session Management): 로그인 상태나 장바구니 정보를 유지한다
  2. 개인화(Personalization): 사용자 선호도나 테마 설정을 저장한다
  3. 트래킹(Tracking): 사용자 행동을 기록하고 분석한다

쿠키는 세션 쿠키영구 쿠키로 나뉜다. 세션 쿠키는 브라우저가 닫히면 삭제되며, 영구 쿠키는 지정된 만료일까지 브라우저에 남아 있다


세션(Session)

웹 서버와 클라이언트 간의 상호작용 시 생성되는 일시적인 상태 정보이다. 세션은 서버 측에서 관리되며, 사용자의 인증 정보나 상태를 저장한다.

세션의 주요 특징

  1. 서버 측 저장: 사용자 정보는 서버에 저장되며, 클라이언트 세션 ID를 통해 접근한다
  2. 일시적: 세션은 일정 시간이 지나면 만료되며, 브라우저가 닫히면 소멸될 수 있다
  3. 고유 식별자: 각 클라이언트에게 고규한 세션 ID가 할당된다

쿠키 VS 세션

특징쿠키세션
저장위치브라우저서버
데이터 보안상대적으로 취약보안성이 높음
데이터 크기제약적상대적으로 큼
사용 목적개인화, 트래킹, 세션 관리상태 정보 유지, 인증 관리
유효 기간지정일 만료일까지일정 시간 후 만료

실제 활용 사례

쿠키 활용 사례

  1. 로그인 상태 유지: 사용자가 로그인한 상태를 유지하기 위해 쿠키에 사용자 식별자를 저장한다. 이를 통해 사용자가 사이트를 이동해도 로그인 상태가 유지된다
  2. 개인화 설정: 사용자의 언어 설정, 테마 설정 등 개인화된 환경을 쿠키에 저장하여 사용자가 사이트를 재방문했을 때 동일한 환경을 제공한다
  3. 트래킹 및 광고 타겟팅: 사용자의 행동을 기록하고 분석하여 맞춤형 광고를 제공한다. 쿠키는 사용자가 방문한 사이트를 추적하는 데 사용된다

세션 활용 사례

  1. 보안 정보 관리: 온라인 뱅킹이나 쇼핑몰에서 사용자의 로그인 상태와 결제 정보를 안전하게 관리하기 위해 세션을 사용한다. 세션은 서버 측에 저장되므로 보안성이 높다
  2. 장바구니 관리: 쇼핑몰에서 사용자가 선택한 상품 정보를 세션에 저장하여 사용자가 결제 페이지로 이동할 때도 해당 정보를 유지한다
  3. 로그인 시도 횟수 제한: 사용자의 로그인 시도 횟수를 세션에 기록하여 일정 횟수 이상의 실패 시 계정 잠금 등의 보안 조치를 취할 수 있다

0개의 댓글