세션 기반 인증과 토큰 기반 인증의 차이에 대해 설명해주세요.

코코·2023년 10월 31일
0

기술면접 준비

목록 보기
36/42

1. 세션 기반 인증

  • 사용자 인증 후 서버 측에서 세션을 유지합니다. 이 세션은 서버 측에서 관리되며, 클라이언트 측에는 세션 식별자가 쿠키로 저장됩니다.

  • 사용자가 로그인하면 서버는 사용자의 인증 정보를 기반으로 세션을 생성하고 관리합니다. 사용자가 로그아웃하거나 세션이 만료되면 세션은 삭제됩니다.

  • 서버에 저장되는 세션 정보로 인해 서버의 자원이 사용될 수 있으며, 확장성이 제한될 수 있습니다.

2. 토큰 기반 인증

  • 사용자 인증 후 서버는 토큰을 발급하고, 클라이언트는 이 토큰을 저장합니다.

  • 보통 JWT(JSON Web Token)와 같은 형식으로 토큰이 구성됩니다. 이 토큰은 클라이언트 측에서 관리되며, 서버는 토큰을 확인하여 인증을 수행합니다.

  • 서버에서 세션을 관리하지 않기 때문에 서버의 부하가 줄어들고, 확장성이 높아집니다. 토큰은 보안적으로 서명되어 있어 변조가 어렵습니다.

  • 토큰은 만료 기간을 가질 수 있고, 이를 통해 보안 수준을 더욱 향상시킬 수 있습니다.

토큰 기반 인증은 분산 시스템이나 서버 간 통신을 위한 API 보안에 적합한 반면, 세션 기반 인증은 전통적인 웹 애플리케이션에 더 적합합니다.

profile
Just Do It

0개의 댓글