Session과 JWT의 차이점과 장단점

2023. 1. 14. 17:30·Programming
728x90
반응형

Session과 JWT는 웹 애플리케이션에서 사용자 인증 방법에 차이가 있습니다.

Session은 서버에서 사용자를 인증할 때 사용하는 방법입니다. 서버는 사용자가 로그인 할 때 사용자 정보를 기반으로 세션을 생성합니다. 이후 세션 ID를 쿠키나 HTTP 헤더에 저장하여 사용자를 식별합니다. 이때 세션 ID는 서버에 저장되며, 서버는 이를 사용하여 사용자를 식별하고 권한을 제어할 수 있습니다.


JWT(JSON Web Token)는 클라이언트에서 사용자를 인증할 때 사용하는 방법입니다. JWT는 서버에서 사용자 정보를 기반으로 생성한 토큰입니다. 이 토큰은 서버에 저장되지 않고 클라이언트가 이를 저장하여 사용합니다. 클라이언트는 이 토큰을 서버에 요청할 때마다 서버에 전달하여 인증을 합니다

장단점

Session의 장점
  • 세션 ID를 저장할 수 있는 저장소가 다양하므로, 쉽게 세션 관리를 할 수 있습니다.
  • 세션 ID를 저장할 수 있는 저장소가 다양하므로, 쉽게 세션 유지 시간을 설정할 수 있습니다.
  • 서버에서 사용자 정보를 관리할 수 있어, 다양한 권한 제어를 할 수 있습니다.
 
Session의 단점
  • 세션 ID를 저장할 수 있는 저장소를 공유하면, 세션 하이재킹을 받을 수 있습니다.
  • 서버 자원을 많이 사용하므로, 서버 부하가 증가할 수 있습니다.
 
JWT의 장점
  • 서버 자원 사용이 적어, 서버 부하를 줄일 수 있습니다.
  • 서버에 저장되지 않고 클라이언트에서 저장하므로, 세션 하이재킹을 받을 확률이 낮습니다.
  • 서버에서 사용자 정보를 관리할 필요가 없어, 서버 구성
 
JWT의 단점
  • 토큰이 클라이언트에 저장되므로, 클라이언트 기기가 도난당하면 토큰이 유출될 수 있습니다.
  • 토큰을 검증할 때마다 서버와 통신을 해야하므로, 서버 응답 속도가 느려질 수 있습니다.
  • 토큰이 유효기간이 있어, 일정 시간이 지나면 재발급이 필요합니다.
 
이와같이 Session과 JWT는 각각 인증 방법에 따라 장단점이 있습니다.
각각의 장단점이 있기 때문에 필요한 방법에 맞게 사용하는 것이 좋다고 생각합니다.
728x90
반응형
저작자표시 (새창열림)

'Programming' 카테고리의 다른 글

c++에서 hello world 찍는 방법  (2) 2023.12.30
프로젝트 관리 및 협업 도구 비교  (0) 2023.11.02
DB 더미 데이터 만드는 방법  (2) 2023.03.02
Docker 명령어 옵션 정리  (0) 2023.01.15
클린 코드 자바스크립트 번역판  (0) 2022.06.25
'Programming' 카테고리의 다른 글
  • 프로젝트 관리 및 협업 도구 비교
  • DB 더미 데이터 만드는 방법
  • Docker 명령어 옵션 정리
  • 클린 코드 자바스크립트 번역판
이프로그
이프로그
리뷰, 개발, 일상을 기록하는 블로그
    반응형
  • 이프로그
    이프로그의 IT이야기
    이프로그
  • 전체
    오늘
    어제
    • 분류 전체보기 (158)
      • Programming (111)
        • C# WPF (11)
        • Java Spring (16)
        • JavaScript & TypeScript (5)
        • Git (9)
        • Database (5)
        • Etc (42)
      • 생활상식 (24)
      • 리뷰 (8)
      • 주식 (12)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      투자전략
      분산 메시징 시스템
      협업 도구
      데이터 바인딩
      데이터 파이프라인
      WPF
      자바스크립트 트릭
      주식투자
      클라우드 컴퓨팅
      서버 관리
      docker
      웹 개발
      ES6
      DevOps
      XAML
      소프트웨어 개발
      Apache Kafka
      rest api
      java8
      C# WPF
      Java
      데이터베이스 성능
      dynamicresource
      이슈 트래킹
      Kubernetes
      클라우드 네이티브
      마이크로서비스
      투자
      재테크
      javascript
    • 최근 댓글

    • 최근 글

    • 250x250
    이프로그
    Session과 JWT의 차이점과 장단점
    상단으로

    티스토리툴바