9. Session


  쉽게 설명하자면, 브라우저와 웹서버간에 필요한 정보를 서로 어떻게 유지하는가. 그렇게 유지되는 것을 Session이라 부른다. 이 세션을 구성하게 되면, 항상 웹서버 쪽에서 브라우저 즉, 사용자가 누구인지를 알고 있게 되어 보다 적절한 서비스를 할 수 있게 된다.

  사실 웹에서는 원래 session이란 개념이 없다. 브라우저가 한번 요청하게 되면, 그때 비로서 연결되었다가, 웹서버가 필요한 것을 다 전송해 주고 나면, 연결이 끈어져 버리게 된다. 그러므로, 서로간에 상대를 확인할 방법이 없었으나, 이를 시정해서, form, cookie등을 사용해서 보완한 것이다.

  모든 CGI에서도 같은 개념이 도입되어 있다. SSJS에서는 세션을 유지하기 위해 client라는 객체를 지원하며, 추가적으로 웹 서버의 page간 정보 공유나, 브라우저와의 정보 전달을 위해서 당므과 같은 4개의 객체를 사용한다.

request, client, server, project
  각 object에 대해서 다시한번 정확히 설명해보면,

server가장 큰 개념으로 현재 웹서버의 공통된 정보를 담아둔다. 웹서버 전체가 stop또는 restart될 때 초기화 된다.
project하나의 웹서버에 여러개의 프로젝트가 존재하는데, 하나의 프로젝트에서 서로 공통된 정보를 담아두게 된다. 하나의 project가 stop또는 restart될 때 초기화 된다.
client하나의 브라우저 또는 사용자에 관한 정보를 담아두게 된다. 브라우저가 하나의 어플리케이션을 처음 접속할 때 생성되고, 브라우저가 종료되면 사라진다.
request브라우저가 한번의 요청에 의해서 생성되는 정보를 잠깐 담아두게 되며, 보관하지는 않는다.


  즉, 위로갈수록 큰 개념이고, 아래로 내려올수록 작은 개념이라고 보면 된다.

  다음장에 각 Object에 대해서 더 자세히 설명한다.

- Last Update : 2001.7.5 by Deadfire(http://www.deadfire.net)

LiveWire 강좌
LiveWire란?
최초예제/동작원리
실행환경 준비
컴파일 및 실행
SSJS의 기본
     - Function
     - Classes/Objects
     - 사용 Tag
     - SSJS의 처리과정
기본 함수
Client To Server
     - FORM Tag
     - URL
Server To Client
     - FORM Tag
     - Cookie
Session
Client
Project/Server
File
Database
     - Database고려사항
     - Function/예제
기타
     - Stored Procedure
     - 외부함수호출
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master