T_era
블스뜸
« 2026/01 »
| 일 |
월 |
화 |
수 |
목 |
금 |
토 |
| |
|
|
|
1 |
2 |
3 |
| 4 |
5 |
6 |
7 |
8 |
9 |
10 |
| 11 |
12 |
13 |
14 |
15 |
16 |
17 |
| 18 |
19 |
20 |
21 |
22 |
23 |
24 |
| 25 |
26 |
27 |
28 |
29 |
30 |
31 |
관리 메뉴
T_era
Cookie와 Session 본문
Cookie
- 정의: 웹 브라우저에 저장되는 작은 데이터 조각.
- 생명주기: 세션 쿠키 (브라우저 종료 시까지), 영속 쿠키 (만료일 설정 가능).
- 도메인: Cookie가 적용될 웹사이트 범위 지정.
- 보안:
- Secure: HTTPS에서만 전송.
- HttpOnly: JavaScript 접근 차단 (XSS 방지).
- SameSite: 요청 도메인과 Cookie 도메인 일치 시 전송 (CSRF 방지).
- 사용 예시: 로그인 상태 유지 (userId Cookie 생성 및 활용), 로그아웃 시 Cookie 만료.
Session
- 정의: 서버 측에서 사용자 상태를 유지하는 방식.
- 동작: 로그인 성공 시 서버가 Session ID를 생성하여 Cookie로 클라이언트에게 전달. 클라이언트는 매 요청 시 Session ID Cookie를 서버에 전송하여 서버가 사용자 상태를 식별.
- 특징: 민감 정보 서버 저장, Session ID 탈취 대비 안전, 유효 시간 설정 가능.
- 사용 예시: 로그인 정보 서버에 저장 (HttpSession 활용, session.setAttribute), 로그아웃 시 세션 무효화 (session.invalidate).
- 세션 정보: ID, 유효 시간, 생성 시간, 마지막 접근 시간 등 확인 가능.
- 문제점: 서버 메모리 사용, 동시 사용자 증가 시 부담, 서버 간 세션 공유 어려움 (Scale Out).
- 생명주기: 마지막 접근 시간을 기준으로 일정 시간(기본 30분) 동안 활동 없으면 만료.
쿠키 vs 세션
특징쿠키(Cookie)세션(Session)
| 저장 위치 |
클라이언트 (브라우저) |
서버 |
| 보안 |
비교적 취약 |
비교적 안전 |
| 수명 |
명시적 설정 또는 브라우저 종료 |
서버 설정 시간 또는 브라우저 종료 |
| 용량 |
작음 (약 4KB) |
서버 자원 내에서 비교적 큼 |
인증과 인가
- 인증: 사용자 신원 확인 (로그인).
- 인가: 사용자의 권한 확인 (접근 권한 결정). 인증 후 진행.
세션 관리 시 고려 사항
- 최소한의 데이터만 저장하여 서버 자원 효율성 확보.
- 적절한 세션 유효 시간 설정.