개발/HTTP
쿠키(Cookie)와 세션(Session)
함수형 인간
2025. 3. 13. 05:24
쿠키 (Cookie)
- 정의: 웹사이트가 사용자의 컴퓨터(브라우저)에 저장하는 작은 텍스트 파일(key - value 한 쌍).
- 목적: 사용자 식별, 설정 저장, 광고 타겟팅 등 다양한 목적으로 사용.
- 종류:
- 세션 쿠키: 브라우저 종료 시 삭제. (임시 정보 저장)
- 영속 쿠키: 지정된 만료일까지 유지. (장기 정보 저장)
- 장점: 간단하게 구현 가능, 서버 부하 감소.
- 단점: 용량 제한 (4KB), 보안 취약 (클라이언트에 저장되므로 탈취 위험), 개인정보 침해 우려.
세션 (Session)
- 정의: 사용자가 웹사이트에 접속해 있는 동안 서버에 유지되는 정보.
- 목적: 로그인 상태 유지, 장바구니 관리 등 사용자별 상태 정보를 관리.
- 동작 방식:
- 사용자 접속 시 서버가 고유한 세션 ID를 생성하여 할당.
- 세션 ID는 주로 쿠키(세션 쿠키)를 통해 클라이언트에 전달.
- 서버는 세션 ID를 키로 사용하여 세션 정보를 저장.
- 사용자는 요청 시 세션 ID를 서버에 보내고, 서버는 이를 통해 세션 정보를 사용.
- 장점: 쿠키보다 보안 우수 (서버에 정보 저장), 더 많은 정보 저장 가능.
- 단점: 서버 부하 증가 (사용자 수에 따라), 여러 서버 환경에서 세션 관리 복잡.
핵심 차이점 요약
특징쿠키세션
저장 위치 | 클라이언트 (브라우저) | 서버 |
보안 | 상대적으로 취약 (탈취 위험) | 상대적으로 안전 |
용량 | 제한적 (4KB) | 서버 용량에 따라 다름 |
수명 | 세션 쿠키: 브라우저 종료 시, 영속 쿠키: 설정된 만료일까지 | 브라우저 종료, 로그아웃, 서버 설정된 만료 시간 등 |
주요 사용 | 사용자 식별, 설정 저장, 광고 타겟팅, 세션 ID 전달 | 로그인 상태 유지, 장바구니 관리, 사용자별 데이터 관리 |