뮁이의 개발새발

[HttpSession] 기초 개념 본문

Back-end

[HttpSession] 기초 개념

뮁뮁이 2021. 10. 14. 20:59

[Session]

- 방문자가 웹 서버에 접속해 있는 상태

- WAS의 메모리에 Object의 형태로 저장

- 메모리가 허용하는 용량까지 제한없이 저장가능

 

[동작순서]

- 클라이언트가 페이지 요청

- 접근한 클라이언트의 쿠키를 확인하여 해당 session-id를 보냈는지 확인

- session-id를 생성해 클라이언트에게 돌려줌

- 서버에서 클라이언트로 돌려준 session-id를 쿠키를 사용해 서버에 저장 (쿠키이름: JSESSIONID)

- 클라이언트 재 접속시, 이 쿠키를 이용하여 session-id값을 서버에 전달.

 

[특징]

- 웹 서버에 상태를 유지하기위한 정보를 저장

- 웹 서버에 저장되는 쿠키(세션쿠키)

- 서버에서 세션을 삭제 했을때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.

- 각 클라이언트 고유 sesison id를 부여

 

[주요 기능]

// 생성
HttpSession session = request.getSession();
HttpSession session = request.getSession(false);

// 값 저장
session.setAttribute(String name, Object value);

// 값 얻기
Object obj = session.getAttribute(String name);

// 값 제거
session.removeAttribute(String name);// 특정 이름의 속성 제거
session.invalidate(); // binding 되어 있는 모든 속성 제거

 

[Session vs Cookie]

 

'Back-end' 카테고리의 다른 글

[Spring] 의존성 주입 (Dependency Injection)  (0) 2021.10.31
[MVC 패턴] 기초개념  (0) 2021.10.18
[Cookie] 기초 개념 및 구현  (0) 2021.10.14
[JSP] 기초 개념 및 구현  (0) 2021.10.14
[Servlet] 기본 개념 및 구현  (0) 2021.10.14
Comments