Stateless(무상태) 프로토콜로 서버가 클라이언트의 상태를 보존하지 않는다.Stateless
- HTTP는 무상태(Stateless) 프로토콜이다.
- 클라이언트와 서버가 요청과 응답을 주고 받으면 연결이 끊어진다.
- 클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다.
- 클라이언트와 서버는 서로 상태를 유지하지 않는다.
Sesseion ID를 발급Session ID를 서버의 메모리에 저장 후 클라이언트에게 전달Session ID를 Cookie에 저장Session ID를 포함해서 전송 후 서버는 저장된 Session List를 확인 후 Authorization 처리Cookie
- 클라이언트(브라우저)에 저장되는 정보
- 매 요청마다 쿠키정보는 자동으로 포함되서 보내진다.

Authorization을 보다 부담없이 사용하기 위해 나온 기술Token을 발급하여 통째로 클라이언트에게 전달 stateless)Token값이 실려들어오면 Header + Payload 값을 서버의 비밀 키와 함께 돌려봐서 계산된 결과값이 Sign값과 일치하는 결과가 나오는지 확인.png)
.을 구분자로 이어붙인 것JWTHMAC SHA256 RSABase64로 디코딩(복호화)해보면 JSON 형식으로 여러 정보들이 들어 있다.조각(claim)이 name/value의 한 쌍으로 이루어짐value)을 작성 가능하다.key)을 URI 형식으로 짓는다.key/value 설정 가능Session과 달리 stateless하기 때문에 상태들을 제어하지 못한다.만료시간을 가깝게 잡아서 토큰의 수명을 짧게 가져가는 방법
로그인을 하면 토큰을 2개 발급
access tokenrefresh tokenrefresh token의 상응값을 DB에 저장
클라이언트는 access token의 수명이 다하면 refresh token을 서버에 보낸다.
서버는 DB에 저장해둔 값과 비교한 후에 일치하면 새 access token 발급
refresh token만 안전하게 관리된다면 이것이 유효할동안은 accees token이 만료될 때마다 다시 로그인 할 필요없이 새로운 access token을 발급받을 수 있다.
중간에 access token이 탈취 당해도 수명이 짧기 떄문에 오래 사용 못하게 된다.
특정 사용자의 토큰을 무효화 시키는 방법으로 refresh token을 삭제, access token의 짧은 수명이 지나면 무효화됨
바로 토큰을 무효화 시키는 방법은 없고 access token의 수명이 다해야 무효화됨 === JWT의 한계