티스토리 뷰
세션 기반 인증과 토큰 기반 인증의 차이점
| 구분 | 세션 기반 인증 | 토큰 기반 인증 |
|---|---|---|
| 인증 방식 | 서버에서 세션 ID 생성 후 클라이언트에 쿠키로 전달하여 세션 관리 | 서버에서 토큰(JWT 등) 생성 후 클라이언트에 전달, 클라이언트가 토큰을 서버로 전송 |
| 서버 상태 | 상태 저장 방식: 서버가 세션을 관리하며 사용자 상태 유지 | 상태 비저장 방식: 토큰만으로 인증을 수행하고, 서버는 사용자 상태를 관리하지 않음 |
| 저장 위치 | 서버 메모리 또는 데이터베이스에 세션 정보 저장 | 클라이언트가 토큰을 저장 (예: 로컬 스토리지, 세션 스토리지) |
| 확장성 | 서버 자원이 필요하여 사용자 수가 많아지면 확장성에 한계 | 서버에 상태가 저장되지 않아 확장성이 뛰어나며, 다중 서버 환경에 적합 |
| 보안 | 서버에서 직접 세션을 관리해 보안성이 높지만, 세션 하이재킹 위험 존재 | 토큰 유출 시 일정 시간 동안 무단 접근이 가능하므로 저장 위치와 보관 방법에 주의가 필요 |
| 만료 관리 | 서버에서 세션 만료를 직접 제어 | 토큰 만료는 사전에 설정된 시간만큼 지속되며, 중간에 서버에서 토큰을 무효화할 수 없음 |
| 로그아웃 처리 | 서버에서 세션을 삭제하여 즉시 로그아웃 가능 | 클라이언트에서 토큰을 삭제해야 로그아웃 효과가 있으며, 만료 시간까지 토큰이 유효 |
| 적합한 상황 | 내부 시스템, 보안이 중요한 웹 애플리케이션 | 모바일 앱, REST API 기반 서비스, 다중 서버 환경 |
예시 상황
세션 기반 인증 사용 예시: 회사 내부 ERP 시스템, 인트라넷 사이트
토큰 기반 인증 사용 예시: 외부에 REST API 제공 서비스, 모바일 앱, 외부 협력사와 연동되는 서비스
'Weekly-paper' 카테고리의 다른 글
| Week 14. AWS의 글로벌 infrastructure & EC2 (2) | 2024.12.23 |
|---|---|
| Week 13. TypeScript의 동작 원리 및 d.ts 타입 정의 파일 (1) | 2024.12.15 |
| Week 9. 리액트만 사용할 때와 비교해 Next.js를 사용하는 이유 (2) | 2024.10.27 |
| Week 8-2. 관계형데이터베이스를 사용하는 이유 (2) | 2024.09.18 |
| Week 8-1. 데이터베이스 정규화 (1) | 2024.09.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- typscript
- 리액트
- 스프린트풀스택2기
- 코드잇스프린트프리코스
- virtual dom
- 무결성
- 코드잇스프린트
- 배열 키 설정
- fitmate
- useMemo
- d.ts
- lexical
- 데이터 이상
- 렉시컬
- semantic tag
- 독스루
- seo
- 타입 정의 파일
- 풀스택
- docthru
- 타입스크립트 동작원리
- React
- 개발리포트
- 취업까지달린다
- 스프린트풀스텍2기
- 모드잇
- 데이터베이스 정규화
- usecalback
- 렌더링
- 프로젝트
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
