-----------------------------------------------------------------------
아래의 HttpSession 인터페이스의 session 에 대한 질문에 답해보고,
스스로 얼마나 알고 있는지 체크해보자
-----------------------------------------------------------------------
1.세션이란?
- 본래의 의미는 서버와 클라이언트가 접속되어 있는 상태(State) 를 말한다.
2.Stateless 프로토콜이란?
- 상태없는 프로토콜을 의미하며 대표적인 예가 Http 프로토콜이다.
Http프로토콜은 요청과 응답이라는 메커니즘으로 작동하는데,
이때 서버는 클라이언트의 매번의 요청마다 전혀 새로운 연결로 인식한다.
3.세션 아이디란?
- 접속하는 다수의 클라이언트를 구분하기 위해, 서버측에서 세션 객체가 생성되는데,
이때 세션객체와 매칭되는 고유아이디도 같이 만들어지며, 바로 이 아이디에 의해 각각의 클라이언트를 구분할 수 있다.
4.세션객체가 만들어 지는 시점은?
- 새로운 클라이언트의 요청으로 간주될 경우 생성된다.
이때 새로운 클라이언트란 세션아이디가 부여되지 않은 경우를 말한다.
<<새로운 요청으로 간주되는 경우>>
ⓐ브라우져를 닫았다가 다시 요청을 시도한 경우
: 새로운 브라우져로 서버에 요청시 세션 아이디값이 없는 상태이므로 서버는 새로운 클라이언트로 간주한다.
ⓑ일정 시간동안 아무런 반응이 없어 서버의 세션이 소멸된 경우
: 세션객체 생성 후 일정시간 동안 요청시도가 없으면 세션객체는 효력을 상실하여 세션은 종료된다.
5.JSP/Servlet에서 세션객체를 얻는 방법은?
session객체.getAttribute("변수명");
6.getSession(boolean create) 메서드에 대해 설명해보자
- false : 세션을 새로 생성하지 않고 기존에 존재하는 세션을 리턴받아온다.
이때 기존에 세션이 존재하지 않을 경우에 null 을 반환한다.
- true : 세션을 얻어오되 ,기존에 없을 경우엔 새로 생성하여 리턴 받아온다.
7.컨테이너가 여러 클라이언트를 구분할 수 있는 방법을 설명해보자
서버에서 만들어진 세션아이디는 response 에 넣어 클라이언트로 다시 보내지며,
이를 부여받은 클라이언트는 요청시마다 이 세션아이디를 가지고 연결을 시도하므로 서버가 이 값으로 구분할 수 있다.
8.클라이언트가 쿠키를 허용하지 않을 경우의 해결방법을 설명해보자
URL 인코딩방식을 이용한다.
[출처] JSP의 세션에 관한 몇가지 질문|작성자 zino1187
'language > jsp' 카테고리의 다른 글
| Apache는 웹서버? 프로젝트명?? (0) | 2009/04/06 |
|---|---|
| [JavaScript] 브라우져 닫힐때 이벤트 처리 (0) | 2008/03/14 |
| [펌] JSP의 세션에 관한 몇가지 질문 (0) | 2008/03/12 |
| [펌] JSP Session 사용하기 (0) | 2008/03/12 |




댓글을 달아 주세요