• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

session id를 db에 저장하고 이후에 요청이 들어오면

24.02.22 23:01 작성 조회수 107

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)

[질문 내용]

  1. 사용자가 로그인 서버에 요청을 보내서 정상적으로 로그인을 함.

    1. 정상적으로 로그인을 했을때 session id를 생성해서 db에 저장

    2. session id를 cookie에 저장해서 응답으로 보냄

  2. 사용자가 추가로 서버에 요청을 보냄

    1. DB에 저장된 session id를 찾아서 있으면 로그인한것으로 간주

질문

  1. 실무에서는 로그인 할때마다 session id는 변경이 되는 것인가요?

  2. session id를 찾기 위해서 DB에 접근하는 과정이 있을텐데 그러면 대규모 프로젝트의 경우 많은 사람이 로그인 하는 환경이면 부하가 많이 걸리진 않나요?(서버에서 로그인 말고 다른 여러 작업도 진행이 되는 상황)

답변 1

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2024.02.23

안녕하세요. 홍명표님, 공식 서포터즈 y2gcoder입니다.

실무에서는 로그인 할때마다 session id는 변경이 되는 것인가요?

=> WAS에서 세션 ID를 만드는 방식에 따라 다르겠지만, 보통은 웹 애플리케이션에 접속하거나 세션이 만료되었을 때 session_id를 변경할 때, 서버 설정을 바꿀 때에 재생성하는 것 같습니다.

  1. session id를 찾기 위해서 DB에 접근하는 과정이 있을텐데 그러면 대규모 프로젝트의 경우 많은 사람이 로그인 하는 환경이면 부하가 많이 걸리진 않나요?(서버에서 로그인 말고 다른 여러 작업도 진행이 되는 상황)

=> 실무에서 session id 는 보통 WAS 메모리에 저장하거나, 세션 클러스터링이 필요하면 별도의 저장소를 두는 것 같습니다! 이 때도 DB 뿐만 아니라 레디스와 같은 메모리 DB를 사용할 수 있습니다! RDBMS에도 저장할 수 있지만 말씀하시는 것처럼 접속하는 사용자가 많아지면 RDBMS에 부하가 올 수 있으니 사용자가 적은 환경에서는 고려할 수 있을 것 같습니다 :)

 

감사합니다.