로그인 - 세션기반 인증 방식 개념

carlkim·2023년 11월 6일
0

CS학습 - 네트워크

목록 보기
31/48

로그인을 구현하는 방법

  1. 세션기반 인증 방식
  2. 토큰기반 인증 방식

--- 세션 기반 인증 방식 ---

HTTP의 특징 중 하나는 상태없음(Stateless), 즉 HTTP 요청을 통해 데이터를 주고 받을 때 요청이 끝나면 요청한 사용자의 정보등을 유지하지 않는 특징이 있다.

상태 유지하게 하려면 어떻게 해야하냐
-- 세션 : 서버와 클라이언트의 연결이 활성화된 상태를 의미
-- 세션ID : 웹 서버 또는 DB에 저장되는 클라이언트에 대한 유니크한 ID

  1. 유저가 post요청으로 로그인(인증)요청.
  2. (HTTP 서버가 인증 확인) 로그인 성공
  3. 서버에서 세션ID를 생성.
  4. 응답헤더 SET-COOKIE에 담아 클라이언트에게 전달(문자열 어려움 - 해커가 탈취해도 못쓰게)
  5. 클라이언트는 (자동으로) 요청헤더에 COOKIE에 세션ID를 담아 요청을 보내게 된다
  6. 서버는 COOKIE에 담긴 세션ID를 확인하고 클라이언트에게 로그인 상태값을 돌려준다.

쿠키 세션 DB에 저장된다면?

직렬화와, 역직렬화 COST가 발생한다.

MYSQL
-- VARCHAR에 저장이 된다면? 서버에서 끄집어 내서 클라이언트에게 줘야하는데
이 때 직렬화와 역직렬화 코스트가 발생

서버에 세션 아이디를 저장한다면?

사용자가 많아지면 메모리 과부하가 생긴다.

profile
가장 나답게 문제해결.

0개의 댓글