[CS/Web] JWT 토큰은 어디에 저장할까?
·
CS/Web
세션, 쿠키, 로컬스토리지에 대해 정리한 후 'JWT 토큰은 어디에 저장해야 할까?'라는 궁금증이 생겼다. JWT란JWT(JSON Web Token)는 사용자 인증 정보를 담은 토큰이다.세션과 달리 서버에 상태를 저장하지 않고, 토큰 자체에 사용자 정보를 담아 인증하는 방식이다.로그인 성공 ↓서버: JWT 토큰 발급 ↓브라우저: 토큰 저장 ↓이후 요청마다 토큰 전송 → 서버가 검증토큰을 어딘가에 저장해야 하는데, 주로 로컬스토리지와 HttpOnly 쿠키 중 하나를 선택한다고 한다. 로컬스토리지에 저장할 경우// 로그인 후 토큰 저장localStorage.setItem("accessToken", token);// 요청 시 직접 꺼내서 헤더에 담음const token =..
[CS/Web] 웹은 어떻게 상태를 기억할까? - 세션, 쿠키, 로컬스토리지
·
CS/Web
웹에서 상태를 유지하는 방법은 세션, 쿠키, 로컬스토리지로 나뉜다.흐름으로 따라가며 각 개념을 이해해보자.1. 웹은 어떻게 동작할까?웹 서비스는 기본적으로 다음 구조로 동작한다.브라우저 ↓ HTTP 요청서버 ↓DB 사용자가 로그인하는 경우를 예로 들면:브라우저에서 로그인 버튼 클릭 ↓HTTP 요청 (POST /login) ↓Spring 서버에서 인증 처리 ↓MySQL에서 사용자 정보 조회 ↓응답 반환로그인은 성공했는데, 다음 요청에서 서버는 이 사용자가 누구인지 어떻게 알까?2. HTTP는 상태를 기억하지 않는다HTTP는 Stateless(무상태) 프로토콜이다. 각 요청은 독립적이고, 이전 요청을 기억하지 않는다.요청1 : POST /login ..