| 상태 관리 |
상태 유지(Stateful) – 서버가 사용자 상태 기억 |
무상태(Stateless) – 서버가 사용자 상태를 별도 기억하지 않음 |
| 정보 저장 위치 |
서버 메모리, 파일, 데이터베이스 등에 세션 정보 저장 |
클라이언트 측 토큰(쿠키, 로컬스토리지 등)에 사용자 정보(클레임) 포함 |
| 인증 방식 |
세션 ID를 통해 서버에서 사용자 식별 및 인가 처리 |
토큰 자체에 담긴 정보와 서명을 통해 서버에서 사용자 식별 및 인가 처리 |
| 확장성 |
여러 대 서버 환경에서 세션 공유(세션 클러스터링) 복잡 |
여러 대 서버 환경에서도 무상태이므로 상태 공유 필요 없음 (확장 용이) |
| 보안 (탈취 시) |
서버에서 해당 세션 ID를 무효화할 수 있음 |
토큰 자체를 무효화하기 어려움 (블랙리스트 등 별도 대책 필요) |
| 구현 복잡성 |
서버 측에서 상태 관리 로직 작성 필요 |
토큰 발급·검증 로직, 탈취 대응(리프레시 토큰 관리) 필요 |
| 활용 예시 |
전통적인 웹 애플리케이션 로그인(서버 템플릿 렌더링) |
API 통신, 마이크로서비스, 모바일 애플리케이션 인증 등 |