JWT와 세션의 차이, 언제 어떤 것을 써야 할까?(Jason Web Token과 Session 차이)
웹 개발에서 인증(Authentication)은 핵심 보안 요소입니다. 하지만 "JWT와 세션 중 어떤 걸 써야 할까?"라는 질문에 쉽게 대답하기란 어렵습니다. 이 글에서 명확히 정리해드립니다. 안녕하세요, ICT리더 리치 블로그에 오신 것을 환영합니다. 오늘은 웹 보안과 사용자 인증에 자주 등장하는 JWT(Json Web Token) 과 세션(Session) 의 차이를 쉽게 이해하고, 실제 상황에서 어떤 방식이 적합한지 가이드를 드리려고 합니다. 각각의 장단점을 통해 실무에서 현명하게 선택할 수 있도록 도와드릴게요! 📌 바로가기 목차 1. 세션(Session) 방식이란? 2. JWT 방식이란? 3. JWT와 세션의 핵심 차이점 4. 이런 경우 세션이 유리하다 5. 이런 경우 JWT가 유리하다 6. 상황별 선택 가이드라인 7. 자주 묻는 질문 (FAQ) 8. 마무리 요약 JWT 세션 인증을 설명하는 여성의 대표 썸네일 이미지 1. 세션(Session) 방식이란? 세션은 사용자가 로그인하면 서버에 사용자 정보를 저장하고, 클라이언트에게는 고유한 세션 ID 를 부여합니다. 클라이언트는 이후 요청 시 이 세션 ID를 쿠키에 담아 전송하고, 서버는 해당 ID를 통해 로그인 여부를 확인합니다. 즉, 상태를 서버가 유지 하기 때문에 "Stateful" 인증 방식이라고 불립니다. 서버 메모리에 세션 정보를 저장하거나 Redis와 같은 외부 저장소를 사용할 수 있습니다. 세션 방식은 사용자의 로그인 상태를 서버가 기억하는 인증 방식입니다. 사용자가 로그인하면 서버는 사용자 정보를 저장하고, 고유한 세션 ID를 생성해 클라이언트(브라우저)에 쿠키 형태로 전달합니다. 이후 사용자가 요청을 보낼 때 해당 세션 ID를 쿠키에 담아 전송하면, 서버는 이를 통해 사용자를 식별할 수 있습니다. 보안이...