세션 동작 원리

개발하는 구황작물·2024년 4월 24일
0

회사에서 인프라 엔지니어 직원분이 본인이 설정한 네트워크 Timeout 시간과 로그인 유지 시간이 일치하지 않아 나에게 의견을 물어봤다.

원인(세션의 동작원리)

사실 개발자라면 바로 쿠키나 세션 문제를 먼저 떠올렸을것이다

세션이 만료되지만 않는다면 클라이언트는 언제든 접근이 가능할테니 말이다.

그렇다면 세션은 어떤 방식으로 사용자를 기억하는 것일까?

  1. 클라이언트가 처음으로 서버로 접속을 한다.
  2. 서버는 클라이언트를 인증하고 세션을 만든다.
  3. 서버는 세션ID를 쿠키에 넣어서 클라이언트에게 전달한다.

여기서 전달하는 쿠키는 우리가 쿠키 창에서 자주 보는 jsessionId를 예시로 들 수 있다.

사실 쿠키에 세션ID를 전달하는 방법은 서버가 클라이언트ID를 추적하는 방법 중 하나이다. 이외에도 hidden form fields 모드, SSL모드, URL Rewriting 모드 등이 있다

hidden form fields : html 폼 형식에 세션ID를 <hidden> 태그에 숨겨 전달
URL Rewriting 모드: GET 방식으로 URL 뒤에 정보를 붙여 전송
SSL 모드 : SSL로 통신을 암호화 하는 방법

4, 5. 클라이언트가 세션ID가 담긴 쿠키를 가지고 접근하면 서버는 이를 확인하고 접근을 허용한다.

profile
어쩌다보니 개발하게 된 구황작물

0개의 댓글