본문 바로가기

프로그래밍 학습/ASP

[ASP] Session세션 개념과 내장객체 정리

728x90

1월 2일이네요. 아침부터 포스팅을 합니다 !! 어제 쉬어서 왠지 오늘 월요일 같다는 ! 저번시간에는 쿠키에 대해서 설명드렸는데 이번시간에는 Session 개념에 대해서 알아보겠습니다.사용하실 Session 객체만 보시면 될 것 같습니다.


용용도

세션은 보통 로그인같은 곳에 쓰입니다. 로그인을 하게 되면 로그인 상태를 유지해야 되는데 여러 웹페이지를 열고 닫는 동안 사용자 정보가 웹페이지에 저장 되있어야 그 정보를 확인하고 유지를 시켜주겠죠. 그럴때 쓰는게 세션입니다. 웹 페이지를 닫으면 정보가 삭제되기 때문에 보안에 강하기도하죠!  보안에 약한 쿠키는 장바구니 기능이라 생각하시면 될 것 같아요 !


큰 정의

Session 객체는 서버에 클라이언트가 하나씩 접속할 때마다 생성되며 Session 객체를 사용하여 특정 사용자 세션에 필요한 정보를 저장할 수 있습니다. 


부가적인 정의

Session 객체에 저장된 변수는 사용자가 응용프로그램에서 페이지 사이를 이동할 때 버려지지 않고 이들 변수는 전체 사용자 세션 동안 지속되고 응용프로그램에서 아직 세션을 가지고 있지 않은 사용자가 웹페이지를 요청하면 웹서버는 자동으로 Session 객체를 작성하고 세션이 만료되거나 중단될때 Session 객체를 삭제합니다..


Session 객체의 사용 형식

Session.collection l property l method





추가설명

1.Contents 컬렉션 -> 사용형식:Session.Contents(key) -> key:검색할 속성이름

Object 태그를 사용하지 않고 세션을 위해 구성된 모든 항목이 포함됩니다. 컬렉션은 특정 세션 항목 값을 결정하거나 컬렉션 전체를 반복 처리하여 세션의 모든 항목 목록을 검색하는데 사용합니다.


2.StaticObjects 컬렉션 -> 사용형식 : Session.StaticObject(key)  -> key:검색할 속성이름

세션 객체 영역 내에서 <OBJECT> 태그로 작성된 모든 객체가 포함됩니다. 이 컬렉션은 개체에 대한 특정 속성의 값을 결정하거나 컬렉션 전체를 반복하고 모든 객체에 대한 모든 속성을 검색하는데 사용할 수 있습니다.


3.CodePage 속성 -> 사용형식: Session.CodePage(=CodePage)

동적 컨텐츠를 표시하기 위해 사용할 코드 페이지를 결정합니다.

CodePage:스크립트 엔진을 실행하고 있는 시스템에 대한 유효한 코드 페이지르 나타내는 부호없는 정수입니다.

예)인코딩 설정할 때 많이 사용됩니다

<% Session.CodePage = 65001 %>  -> UTF-8 방식으로 인코딩을 한다는 뜻 보통 페이지 넘길때 이 값이 들어가지 않으면 한글이 깨집니다.



4.LCID 속성 -> 사용형식: Session.SCID(=LCID) -> LCID:유일한 로케일 식별자

지역과 언어 등에 대한 특성을 설정할 때 사용하는 것으로 동적 컨텐츠를 표시하기 위해 사용할 위치 식별자를 결정합니다.


예) 저는 많이 사용해보지 않았습니다.

<%=Session.LCID%> 로출력해보시면 지역과 언어의 값이 나옵니다. 


5.SessionID 속성 -> 사용형식: Session.SessionID  

세션이 작성될 때 서버에 의해 작성된 고유 식별자인 세션 식별자를 반환합니다.


6.Timeout 속성 -> Session.Timeout(=Minutes) Minutes : 세션이 유지되는 시간(기본값:10분)

Session 객체에 지정된 제한시간을 분 단위로 지정하고 사용자가 제한시간내에 페이지를 새로 고치거나 요청하지 않으면 세션은 끝난다. 

예) Timeout을 20분으로잡고 로그인상태로 20분동안 새로고침이나 페이지이동이 없으면 자동으로 로그아웃이 됩니다. 


7.Abandon 메쏘드 -> Session.Abandon 

Session 객체에 저장된 모든 객체를 삭제하고 리소스를 해제하고 Abandon 메쏘드를 명시적으로 호출하지 않으면 세션이 시간 초과 될때 서버가 이들 객체를 삭제합니다. 스크립트 명령이 처리될때까지는 실제로 삭제 되지 않습니다.


8.Remove 메쏘드 -> Session.Contents.Remove(Item l Index)

Idex:컬렉션에서 제거할 구성원 이름 / Index: 컬렉션에서 제거할 

Session객체의 Contents 컬렉션에서 특정 항목을 삭제합니다.


9.RemoveAll 메쏘드 -> Session.Contents.RemoveAll()

Session 객체의 Contents 컬렉션에 추가된 모든 항목을 삭제합니다.




다음시간에는 Application 객체에 대해서 포스팅을 할께요. 같이 공부하고 좋은 의견 있으면

 많이 공유하고 이웃추가 환영합니다!!