세션이란?

2020/JSP SERVLET 2019. 12. 5. 20:36
반응형

세션?  

  쿠키는 사용시 웹페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있는 반면, 세션은 서버의 메모리에 생성되어 정보를 저장합니다. 따라서 웹페이지에서 사용되는 정보 중에 로그인 정보처럼 보안이 요구되는 정보는 대부분 세션을 이용합니다.

  세션은 각 브라우저당 1개, 즉 사용자당 한개가 생성되며, 사용자의 로그인 상태나 쇼핑몰의 장바구니 담기 기능 같은 정보를 해당 브라우저에 저장해 두고 사용하면 편리합니다.

  •  세션의 특징은 정보가 서버의 메모리에 저장됩니다.
  •  브라우저의 세션 연동은 세션 쿠키를 이용합니다.
  • 쿠키보다 보안에 유리합니다.
  • 서버에 부하를 줄 수 있습니다.
  • 브라우저(사용자)당 한 개의 세션(세션ID)가 생성됩니다.
  • 세션은 유효 시간을 가집니다( 기본 30분)
  • 로그인 상태 유지 기능이나 쇼핑몰의 장바구니 담기 기능 등에 주로 사용됩니다.

세션의 기능 실행 과정

  1. 브라우저로 사이트에 접속
  2. 서버는 접속한 브랑루저에 대한 세션 객체를 생성
  3. 서버는 생성된 세션ID를 클라이언트 브라우저에 응답
  4. 브라우저는 서버로부터 받은 세션ID를 브라우저가 사용하는 메모리의 세션 쿠키에 저장
  5. 브라우저가 재접속하면 브라우저는 Session 쿠키에 저장된 세션 id를 서버에 전달
  6. 서버는 전송된 세션 id를 이용해 해당 세션에 접근하여 작업을 수행

세션 API의 특징과 기능

  서블릿에서 세션을 이용하려면 HttpSession 클래스 객체를 생성해서 사용해야 합니다. HttpSession객체는 HttpServletRequest의 getSession() 메서드를 호출해서 생성합니다.

  세션을 얻은 getSession() 메서드는

  • getSession(): 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성합니다.
  • getSession(true): 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성합니다.
  • getSession(false): 기존의 세션 객체가 존재하면 반환하고, 없으면 null을 반환합니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,