///////
Search
🛸

Local, Global, Distributed Session에 대해서 아는 만큼 설명해주세요.

세션 (Session) 이란?

세션은 영구적이고 상호작용적인 정보 교환을 전제하는 둘 이상의 통신 장치나 송수신 연결 상태를 의미한다.
쿠키와 비교하는 세션은 HTTP 세션을 의미한다.

HTTP 세션 연결 과정

1.
클라이언트는 서버에 접근 요청을 한다.
2.
서버는 접근 요청한 사용자에게 클라이언트 식별자인 session-id를 발급해서 응답 헤더의 set-cookie 옵션으로 클라이언트 브라우저에 session-id를 저장한다.
3.
사용자는 매 요청 시, session-id를 담아서 요청하게 되고 서버는 이를 통해 어떤 사용자인지 식별한다.

Local Session (로컬 세션)

각 사용자는 자신의 세션 데이터를 다른 사용자와 공유하지 않는다.
사용자가 웹 브라우저를 통해 웹 사이트에 접속한 경우, 로컬 세션은 웹 브라우저가 닫힐 때 까지 유지된다.

Global Session (글로벌 세션)

여러 사용자가 같은 세션을 공유할 수 있다.
장점
1.
각 사용자마다 개별적인 세션 데이터를 유지할 필요가 없기 때문에 리소스를 절약할 수 있다.
2.
같은 세션을 공유하는 사용자들은 상태 정보를 공유할 수 있어 서로의 정보를 활용할 수 있다.
3.
한 사용자가 세션 데이터를 변경하면, 같은 세션에 있는 사용자는 바로 변경을 반영받을 수 있다.

Distributed Session (분산 세션)

분산 서버 환경에서, 서버 간에 세션 데이터를 공유하는 방식이다.
분산 서버 환경에서 글로벌 세션을 사용하는 방식을 분산 세션이라고 이해해도 된다.
확장성과 가용성이 향상되며 서버 간 세션 정보의 동기화와 일관성 유지가 중요하다.