세션을 통한 로그인

sarah·2022년 12월 21일
0

로그인

목록 보기
1/2

세션을 사용하는 이유

HTTP 통신의 Stateless한 특성으로 인해 로그인 정보를 세션과 쿠키를 이용해 저장.

로그인 방식

세션은 서버의 메모리에 생성되는 저장 공간이다. 이 안에 로그인한 유저의 정보가 저장이 된다. 세션에 저장된 정보에는 고유의 세션ID가 부여된다. 사용자가 로그인을 하면 서버는 쿠키에 세션ID를 실어서 브라우저에게 보내준다.

브라우저는 쿠키를 쿠키저장소에 가지고 있다가 다음 페이지를 요청할때 해당 유저의 쿠키를 다시 요청의 헤더에 포함해서 전송한다. 서버는 쿠키 내부의 세션ID를 통해 세션 내부에 일치하는 유저 정보를 가져와서 처음에 로그인한 유저가 맞는지 확인한다. 페이지가 이동할때마다 이 작업이 반복되고 로그인 상태가 유지되는 것이다.

한계

  1. 세션은 메모리를 사용하기 때문에, 세션의 데이터가 많아지면 메모리에 부하가 걸린다.
  2. 서버 확장 시 서버간에 세션을 공유하기 어렵다.

결론

이러한 한계를 극복하기 위해 다음글에선 JWT를 사용한 로그인 방식을 알아보겠다.

[참고]

[인증/인가]Session(세션)과 Token(토큰)(JWT)의 차이점

0개의 댓글