세션과 쿠키
session(javax.servlet.http.HttpSession)
(세션 == 접속)
→ 브라우저 URL 요청 시, 서버 각 브라우저를 식별할 수 있는 번호 부여
서버측 메모리에 저장하고 있다가 또 다른 URL 요청 시, 같은 client인지 비교
→ 클라이언트에 대한 세션정보를 처리하기 위해 사용
→ 비연결형 프로토콜인데 마치 연결된 것처럼 접속상태를 유지해주는 메커니즘
비연결형 프로토콜 HTTP
→ (한 페이지가 출력된 다음에 서버와 클라이언트 연결은 끊어짐)
세션의 사용용도)
- 사용자 로그인
- 쇼핑몰에서 장바구니 기능 구현
- 사용자가 어떤 페이지를 다녀갔는지 웹 페이지 트래킹 기능을 구현
주요메소드)
getId()
- 각 접속에 대한 세션 고유의 ID를 문자열형태로 리턴.
getCreatingTime()
- 세션이 생성된 시간을 long형 밀리세컨드 값으로 리턴
(January 1, 1970 GMT기준)
getLastAccessedTime()
- 현재 세션으로 마지막 작업한 시간을 long형 밀리세컨드 값으로 리턴.
getMaxInactiveInterval() --Default 1800초 30분
- 세션의 유지시간을 초로 반환.
setMaxInactiveInterval(t)
- 세션의 유효시간을 t에 설정된 초 값으로 설정.
invalidate() → 세션이 해제(모든키가 삭제)
- 현재 세션을 종료.
- 로그아웃에서 사용.
setAttribute(key, value) --추가,수정
- 문자열 key로 Object value을 설정.
getAttribute(key) --조회
- 문자열 key로 설정된 세션 값을 Object형태로 반환.
removeAttribute(key) -- 삭제 / 세션은 유지, 특정 키 값 삭제
- 문자열 key로 설정된 Object 삭제.
- 쿠키는 사용자PC에, 세션은 서버에 사용자와 관련된 정보를 보관.
→ 쿠키 정의: 인터넷 사용자가 웹사이트를 방문, 그 사이트가 사용하고 있는 서버를통해 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일
'Spring' 카테고리의 다른 글
Spring에서 웹소켓으로 알림 받기 (0) | 2018.10.12 |
---|---|
정리 #1 (0) | 2018.09.30 |
"DTO와 VO의 차이는?" (0) | 2018.09.11 |
"Spring @Around 이해할 수 있나요?" (0) | 2018.09.07 |
"Spring DAO와 Service 메소드 명은 왜 다를까?" (0) | 2018.09.06 |