WEB 세션이란? 필요한 이유

세션이란?

세션은 웹 서버가 웹 사이트에 접속한 사용자를 인식하고 데이터를 저장할 수 있는 임시 저장소입니다. 세션은 사용자가 웹 사이트를 이용할 때 사이트 내 다양한 페이지에서의 모든 경험이 독립적이지 않고, 연결되는 경험을 제공합니다.

웹 세션이 필요한 이유

웹 사이트 통신에 사용되는 HTTP는 상태 비저장 프로토콜입니다. 때문에 사용자의 url 요청에 대한 응답 페이지를 제공하면 브라우저와 웹 서버 간의 tcp 소켓은 닫힙니다. 웹 사이트가 완전히 로드되면 그다음 요청을 하기 전까지는 데이터가 사용되지 않는 걸 떠올리면 됩니다. 이 방식은 웹 서버 입장에서 동일한 리소스로 더 많은 사용자에게 서비스를 제공할 수 있는 장점이 있습니다. 

 

그러나 사용자 입장에서는 같은 사이트에서 요청하는 모든 url 요청이 독립적이면 이전 페이지에서 작업한 모든 것들이 다른 페이지에서는 사라지고 마는 셈입니다. 세션을 사용하면 그런 걱정 없이 연결된 경험을 할 수 있습니다. 부여된 세션 id를 기준으로 웹 사이트 내의 활동 데이터가 저장, 활용되기 때문입니다.

 

로그인을 했을 때는 물론이고, 로그인을 하지 않더라도 세션은 부여됩니다. 그래서 쇼핑몰 사이트에서 로그인을 하지 않은 사용자도 장바구니에 물건을 담고 장바구니를 활용할 수 있습니다. 같은 원리로 세션이 존재하기 때문에 여러 페이지에 걸쳐 양식을 작성해서 최종적으로 여러 페이지(url)에 기록한 데이터를 제출할 수 있습니다.

세션

세션 타임아웃

시간의 관점에서 세션은 사용자가 웹 사이트에서 활동하는 개별 시간 블록을 의미합니다. 세션 타임아웃은 사용자가 일정 시간 동안 방문한 웹 사이트에서 아무것도 하지 않았을 때 세션 상태가 유효하지 않음으로 변경되는 이벤트를 말합니다. 세션이 파괴되면 사용자가 사용했던 데이터가 삭제됩니다. 로그인된 상태에서 시간이 지나면 자동으로 로그아웃되는 게 대표적인 예입니다.

 

예를 들어, 세션 타임아웃이 30분으로 설정되어 있다면 사용자가 오전 9시에 세션을 시작하면 세션 종료 시간은 9시30분입니다. 9시1분에 다른 페이지로 이동하면 세션 종료 시간은 9시31분으로 늘어납니다. 9시2분에 또 다른 페이지를 요청하면 9시32분으로 늘어나는 식입니다.

 

상업적 관점에서 보면 세션은 사용자의 탐색 정보를 담고 있기 때문에 고객 분석의 도구가 됩니다. 사용자들이 어떤 페이지에 많이 머물렀고, 어떤 페이지에 덜 머물렀고, 어떤 페이지에서 클릭을 많이 했고, 스크롤을 많이 했고 등을 알려주기 때문입니다. 이런 정보는 사이트 운영자의 서비스 발전에 도움이 되고 궁극적으로는 사용자도 더 질 좋은 서비스를 이용할 수 있는 원동력이 됩니다.

반응형

댓글

Designed by JB FACTORY