반응형
SMALL
JWT란?
JSON Web Token의 준말입니다.
자바스크립트의 JSON 자료구로를 가지고 있으며, Web Token으로써 사용할 수 있습니다.
HTTP는 기본적으로 state-less를 지향합니다.
state-less(무상태)란: 서버-클라이언트 구조에서 서버가 클라이언트의 상태를 가지고 있는 것을 말합니다.
- 장점: 서버의 확정성이 높고 대량의 트래픽이 발생해도 대처가 가능합니다.
- 단점: 1. state-ful 방식보다 비교적 많은 양의 데이터가 반복적으로 전송되서 네트워크 성능이 저하가 될 수 있습니다.
2. 데이터 노출로 인한 보안적인 문제도 발생할 수 있습니다.
이러한 단점을 보완하기 위해 데이터 압축 및 암호와를 위하여 JWT를 사용합니다.
JWT 구성
aaaaa.bbbbb.ccccc // 헤더.페이로드.시그니처
구성은 헤더, 페이로드, 시그니처로 나뉩니다.
헤더: 토큰 타입, 암호화 알고리즘 명시
페이로드: JWT에 넣을 데이터, JWT 발급 / 만료일 등 명시
시그니처: 헤더, 페이로드가 변조 되었는지를 확인하는 역할
토큰 방식은 토큰이 보안을 하여 유저 데이터를 관리합니다.
세션 방식은 서버가 보안을 하여 유저 데이터를 관리합니다.
보안성, 성능 같은 면에서 세션이 더 좋은 방식이지만, 비용면에서 JWT를 많이 사용하고 있는 추세 입니다.
사실상 프로젝트를 진행할 때 본인의 프로젝트에 맞는 보안 방식을 사용하면 됩니다.
반응형
LIST