네트워크
Cookie · Session · JWT
웹 인증 상태 유지의 세 가지 접근과 각각의 보안 트레이드오프.
핵심 개념
Cookie
브라우저가 자동으로 저장/전송하는 키-값. Domain, Path, HttpOnly, Secure, SameSite 속성.
Session
서버가 상태(로그인 등)를 보관, 브라우저엔 식별자(Session ID)만 쿠키로. 서버 메모리/DB 필요.
JWT
Header.Payload.Signature 구조. 서버는 상태 저장 안 함(stateless). 토큰 자체에 정보+서명.
트레이드오프
Session: 강제 만료/즉시 무효화 쉬움, 확장성 부담. JWT: 확장성 좋음, 즉시 무효화 어려움.
면접 단골 질문
- Q1.Session과 JWT의 차이와 각각의 장단점을 설명해보세요.
- Q2.JWT를 LocalStorage vs HttpOnly Cookie에 저장할 때 보안 차이는?
- Q3.Refresh Token이 왜 필요한가요? Access Token만 길게 주면 안 되나요?
- Q4.JWT를 즉시 무효화하려면 어떻게 해야 하나요?
- Q5.SameSite 쿠키 속성이 CSRF 방어에 어떻게 기여하나요?