클라이언트 세션 – 1.개요

여기서 언급하는 클라이언트 세션이란 클라이언트 사이드 스크립트인 자바스크립트 변수의 사용범위를 현재페이지를 벗어나 모든 페이지에서 그 값을 유지할 수 있도록 하여, 홈페이지를 방문하는 사용자들에 대한 정보를 저장하는 수단이나, 서버 사이드 스크립트 변수와의 연동을 위해 사용하기 위한 기능입니다.

서버 세션 & 클라이언트 세션

세션관리는 어떤 기간동안 동일한 사용자로부터의 요청에 대한 상태를 유지하는 방법입니다. 세션이란 용어는 특정 웹사이트에 사용자가 머무르는 시간을 뜻합니다.  …… (중략) …… 세션관리는 웹페이지에 머무르는 한 사용자와 데이터를 묶는 방법을 뜻합니다. …… (중략) …… 세션이란 용어가 한 사용자의 한번의 방문을 뜻합니다. (출처: Session Handling with PHP 4, 저자:Tobias Ratschiller,  번역:김수희/ketchup@wowlinux.com)

위의 내용은 PHPSCHOOL.COM 강의실에 올라있는 김수희님의 번역물(“Session Handling with PHP 4 번역판”)에서 발췌한 내용입니다. 이 정의에서의 관점은 홈페이지에 접근한 사용자입니다. 홈페이지를 개발하는 프로그래머 관점에서 세션을 다르게 표현한다면, 세션 기능이란 서버 사이드 스크립트 변수의 사용범위(scope)를 현재 페이지에 한정하지 않고 여러 페이지로 확장시킨 것입니다. 즉 PHP의 전역변수의 사용범위가 현재 페이지 전체에 걸쳐 있지만 다른 페이지로 가면 현재의 전역변수의 내용은 없어집니다. 이러한 전역변수의 사용범위를 다른 중간 매체(데이터베이스 또는 파일 등)를 이용해 다른 페이지까지 확장시키는 것이지요.

그런데 지금까지 이러한 세션 기능이 서버 사이드 스크립트 측면(PHP 변수)에서만 전개되고 있는 것 같습니다. 관심을 클라이언트 쪽으로 돌려보지요. 클라이언트 사이드 스크립트 측면(보통 자바 스크립트 변수)에서 세션 기능을 구현하면 어떨까요?

클라이언트 사이드에서 홈페이지를 방문하는 사용자들에 대한 정보를 저장하는 수단으로 지금까지는 아마도 자바스크립트와 쿠키를 이용하였을 거라고 생각됩니다. 자바스크립트와 쿠키를 이용하는 방법은 “자바스크립트로 다이내믹 웹 페이지 디자인하기”라는 번역물 (권원상 역, 한빛미디어) P.139~160을 참조하세요.

여기서 구현한 “서버 & 클라이언트 세션 기능”은 서버 사이드 스크립트인 PHP를 이용하여 변수의 사용범위를 서버뿐만 아니라 클라이언트 사이드까지 (때에 따라서는 양쪽 모두) 확장시킨 것입니다.

답글 남기기