목차
JWT vs 세션
요청을 보낼 때 사용자 인증을 위해 JWT나 세션을 사용함
저장 위치
- 세션: 서버에 상태를 저장. 사용자의 인증 정보가 서버에 저장되어 있고, 클라이언트는 세션 ID만 저장
- JWT: 클라이언트 측에서 저장. 서버는 JWT의 서명만 검증하고, 토큰 자체는 클라이언트에 저장(일반적으로 로컬 스토리지나 쿠키)
상태 관리
- 세션: 서버에서 상태를 관리하므로, 서버는 각 클라이언트의 세션을 추적해야 함. 클라이언트가 로그아웃하면 서버에서 세션을 삭제해야 함
- JWT: 서버는 상태를 유지하지 않으며, 토큰에 필요한 정보가 모두 포함되어 있어 서버의 부하를 줄일 수 있음. JWT는 자체적으로 인증 정보를 가지고 있어, 서버에서 별도의 상태 정보를 관리할 필요가 없음
확장성
- 세션: 서버에서 세션을 관리하기 때문에 서버의 부하가 커질 수 있고, 확장성에 제약이 있을 수 있음
- JWT: 클라이언트에서 인증 정보를 저장하고, 서버는 단순히 서명만 검증하면 되므로 분산 시스템에서 유리하고, 확장성이 뛰어남
보안
- 세션: 서버에서 관리되므로 상대적으로 안전하지만, 세션 탈취가 일어나면 사용자의 정보가 유출될 수 있음
- JWT: 토큰에 평문을 포함하므로 자체가 노출되면 위험할 수 있음. 하지만 서명을 통해 데이터의 무결성을 확인할 수 있음. JWT는 만료 시간과 같은 설정으로 보안을 강화
Amazon RDS (Relational Database Service)
관계형 데이터베이스를 제공
로컬 MySQL과 Amazon RDS의 차이점
로컬 MySQL
- 각 팀원이 개별적으로 DB 설정해야 함.
- 버전 차이와 데이터 동기화 문제 발생 가능.
- 백업 및 복구를 각자 관리해야 함.
Amazon RDS
- 하나의 DB 인스턴스를 여러 팀원이 공유.
- 모든 팀원이 동일한 환경에서 작업 가능.
- 자동 백업, 보안 관리, 성능 튜닝 등 중앙에서 관리.
미니 프로젝트
[번개장터 클론코딩][JS] 기본 구조, 로그인, 회원가입 구현, SPA
HTML, CSS, JavaScript로 동적 페이지 구현하기1. 기본 구조index.html에 모든 JavaScript 파일을 불러오고, 페이지의 동적인 콘텐츠를 업데이트할 수 있는 구조를 구현1.1 index.htmlindex.html에는 전체 페이지에
leeemingyu.tistory.com
'[LG 유플러스] 유레카 > Today I Learned' 카테고리의 다른 글
[TIL][03.24] CX, UI/UX, 디자인 시스템 (0) | 2025.03.25 |
---|---|
[TIL][03.17] Controller, RestController, 카카오 로그인, 미니 프로젝트 (0) | 2025.03.18 |
[TIL][03.13] 패스워드 암호화, RESTful, Swagger UI (0) | 2025.03.14 |
[TIL][03.11] 세션 & 토큰 로그인, 토큰 수명 관리 (0) | 2025.03.12 |
[TIL][03.10] XSS, 외래키, tabnabbing, 토큰, 로그인 (0) | 2025.03.11 |
JWT vs 세션
요청을 보낼 때 사용자 인증을 위해 JWT나 세션을 사용함
저장 위치
- 세션: 서버에 상태를 저장. 사용자의 인증 정보가 서버에 저장되어 있고, 클라이언트는 세션 ID만 저장
- JWT: 클라이언트 측에서 저장. 서버는 JWT의 서명만 검증하고, 토큰 자체는 클라이언트에 저장(일반적으로 로컬 스토리지나 쿠키)
상태 관리
- 세션: 서버에서 상태를 관리하므로, 서버는 각 클라이언트의 세션을 추적해야 함. 클라이언트가 로그아웃하면 서버에서 세션을 삭제해야 함
- JWT: 서버는 상태를 유지하지 않으며, 토큰에 필요한 정보가 모두 포함되어 있어 서버의 부하를 줄일 수 있음. JWT는 자체적으로 인증 정보를 가지고 있어, 서버에서 별도의 상태 정보를 관리할 필요가 없음
확장성
- 세션: 서버에서 세션을 관리하기 때문에 서버의 부하가 커질 수 있고, 확장성에 제약이 있을 수 있음
- JWT: 클라이언트에서 인증 정보를 저장하고, 서버는 단순히 서명만 검증하면 되므로 분산 시스템에서 유리하고, 확장성이 뛰어남
보안
- 세션: 서버에서 관리되므로 상대적으로 안전하지만, 세션 탈취가 일어나면 사용자의 정보가 유출될 수 있음
- JWT: 토큰에 평문을 포함하므로 자체가 노출되면 위험할 수 있음. 하지만 서명을 통해 데이터의 무결성을 확인할 수 있음. JWT는 만료 시간과 같은 설정으로 보안을 강화
Amazon RDS (Relational Database Service)
관계형 데이터베이스를 제공
로컬 MySQL과 Amazon RDS의 차이점
로컬 MySQL
- 각 팀원이 개별적으로 DB 설정해야 함.
- 버전 차이와 데이터 동기화 문제 발생 가능.
- 백업 및 복구를 각자 관리해야 함.
Amazon RDS
- 하나의 DB 인스턴스를 여러 팀원이 공유.
- 모든 팀원이 동일한 환경에서 작업 가능.
- 자동 백업, 보안 관리, 성능 튜닝 등 중앙에서 관리.
미니 프로젝트
[번개장터 클론코딩][JS] 기본 구조, 로그인, 회원가입 구현, SPA
HTML, CSS, JavaScript로 동적 페이지 구현하기1. 기본 구조index.html에 모든 JavaScript 파일을 불러오고, 페이지의 동적인 콘텐츠를 업데이트할 수 있는 구조를 구현1.1 index.htmlindex.html에는 전체 페이지에
leeemingyu.tistory.com
'[LG 유플러스] 유레카 > Today I Learned' 카테고리의 다른 글
[TIL][03.24] CX, UI/UX, 디자인 시스템 (0) | 2025.03.25 |
---|---|
[TIL][03.17] Controller, RestController, 카카오 로그인, 미니 프로젝트 (0) | 2025.03.18 |
[TIL][03.13] 패스워드 암호화, RESTful, Swagger UI (0) | 2025.03.14 |
[TIL][03.11] 세션 & 토큰 로그인, 토큰 수명 관리 (0) | 2025.03.12 |
[TIL][03.10] XSS, 외래키, tabnabbing, 토큰, 로그인 (0) | 2025.03.11 |