Session

이상연·2023년 12월 19일
0

로그인

목록 보기
3/4

쿠키와는 다르게, 유저 정보를 클라이언트가 갖고있는 것이 아닌 서버에 session DB 안에 보관한다

클라이언트가 요청을 하면, 세션 키를 쿠키에 넣어서 전달하고 세션 키를 이용하여 서버에서 데이터를 가져온다

Session 특징

  • 쿠키보다 더 안전하게 개인정보를 보관할 수 있음
  • 서버에서 세션 객체를 생성하여, 요청받은 각 클라이언트 별로 고유한 세션 ID를 부여함
  • 브라우저가 종료되기 전까지 클라이언트의 요청을 유지함
  • 저장 용량의 제한이 없음

Session 동작 프로세스

  1. 사용자가 웹 사이트에서 ID, Password를 입력하여, 서버에 로그인 요청을 보냄
  2. 서버는 DB를 확인하여 일치한다면 세션 객체를 생성하고 세션 ID를 부여한 뒤, 서버 메모리에 저장
  3. 로그인 요청의 응답으로 쿠키에서 세션 ID를 담아 사용자에게 전달
  4. 사용자가 요청을 할 때, SessionId를 쿠키에 담아 요청을 보냄
  5. 서버에서 로그인 정보를 확인하는 것 아닌, **Session ID를** 통해 확인함
  6. Session ID가 유효하다면 해당 요청의 응답을 사용자에게 보냄

Session의 단점

  • 사용자가 많을수록 서버의 메모리를 많이 차지하게 됨
  • 동시 접속자의 수가 많은 웹사이트의 경우에 서버 과부하가 걸릴 수 있음
  • CORS에러를 신경써야함
CookieSession
저장 위치클라이언트서버
요청 & 응답요청시, 헤더에 Cookie를 담고 전송함요청시, SessionID를 Cookie에 담고 전송함
만료시점서버에서 지정한 만료시간이 지나면 삭제브라우저 종료시 or 서버에서 지정한 만료시간 지나면 삭제
저장방식Text 를 보내면 Text 형태로 저장Object를 보내면 서버에서 세션 객체의 형태로 저장

0개의 댓글

관련 채용 정보