QUESTION #0180
프론트엔드

JWT(Json Web Token)의 장점은 무엇인가요

JWT(Json Web Token)의 장점은 무엇인가요?

분야: 프론트엔드


크게 세 가지 장점에 대해 설명드리겠습니다.

첫째, JWT는 Stateless 인증 방식을 제공합니다. 서버가 사용자의 인증 상태를 별도로 저장할 필요가 없어, 서버의 메모리나 데이터베이스 비용을 줄일 수 있습니다. 인증 상태 관리에 대한 부담이 없어지니 서버의 확장성 측면에서도 유리합니다.

둘째, JWT는 토큰에 자체적으로 필요한 정보를 포함할 수 있습니다. 사용자 ID, 권한 정보 등을 토큰 자체에 담을 수 있어, 추가적인 데이터베이스 조회 없이도 필요한 인증 관련 정보를 얻을 수 있습니다.

셋째, JWT는 서명(Signature)을 포함하고 있어 데이터의 무결성을 보장할 수 있습니다. 서버에서 발급한 JWT가 변경되었는지 검증할 수 있으므로, 클라이언트가 임의로 내용을 조작하는 것을 방지할 수 있습니다.

JWT의 단점은 무엇인가요? 🤔

먼저, 로그아웃을 강제할 수 없다는 문제가 있습니다. 액세스 토큰의 상태는 서버에서 별도로 관리하지 않기 때문에, 한 번 발급된 토큰은 만료될 때까지 유효합니다. 따라서 서버에서 임의로 토큰을 무효화할 수 없으며, 다중 로그인 제한과 같은 기능도 구현하기 어렵습니다.

또한, 페이로드 크기로 인한 네트워크 부하가 발생할 수 있습니다. JWT는 사용자 정보를 포함하므로 일반적인 세션 ID보다 용량이 크며, 이에 따라 네트워크 비용이 증가할 수 있습니다.

📚 추가 학습 자료를 공유합니다.