-
Session 이란?Study/Server 2022. 12. 15. 16:03반응형
1.Session은 왜 생성하지?
HTTP프로토콜의 특징중
Connectionless (요청을 했을때 응답을 보낸 후 바로 연결을 끊는 방식),
Stateless(클라이언트의 상태 정보를 가지지 않는 방식, 즉 , 첫번째 통신에서 데이터를 주고 받았다해도 두번째 통신에서 이전데이터를 유지 하지 않는다)
두가지의 특징 때문에 이러한 단점을 보완하기 위해서 쿠키와 세션이 나왔음.
2.그렇다면 cookie와 Session 뭐가 다르지?
cookie는 HTTP의 일종으로 사용자가 어떤 사이트를 방문할 경우 웹사이트쪽 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다. 클라이언트의 상태 정보를 클라이언트 컴퓨터에 저장하여 필요시 정보를 참조하거나 재사용할 수 있도록 한다.
예)방문했던 사이트에 재방문시 아이디와 비밀번호가 자동입력 되어 있음
session은 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 일정하게 유지 시키는 기술이다. 여기서 일정 시간은 방문자가 웹브라우저를 통해 웹서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다. 즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
3.cookie와 Session 차이점은?
여러 차이점이 있지만 제일 큰 특징은
cookie는 클라이언트PC에 text형식으로 저장이되고, session은 웹서버에 Object 형태로 저장된다.
4.Session은 어떻게 생성이 되지?
출처: https://enai.tistory.com/29
클라이언트 쪽에서 서버에서 요청을 보내면 서버는 클라이언트를 식별하기 위해 session id를 생성한다.
서버는 session id로 key와 value를 저장하는 HTTP session을 생성하고, session id를 저장하고 있는 쿠키를 생성하여 클라이언트에게 전송한다.
클라이언트는 서버 측에 요청을 보낼 때, session id를 가지고 있는 쿠키를 전송한다.
서버는 쿠키의 session id로 HttpSession을 찾는다.
5.Session 관련 메서드
5-1.Session 생성
HttpSession session = request.getSession(ture);
request의 getSession 메서드는 서버에 생성된 세션이 있다면 세션을 반환하고, 없다면 새 세션을 생성하여 반환한다.
보통은 default 값으로 true를 설정하지만 false를 설정할 경우 이미생성된 세션이 있을때 이미 생성된 세션을 반환하고,
없으면 null값을 반환한다.
5-2.Session 값 저장하기
session.setAttribute("이름",값)
5-3.Session 값 조회하기
getAttribute(String name)
getAttribute 메서드로 세션에 저장된 값을 조회할 수 있는데, 리턴 타입은 Object 이므로 형변환이 필요하다.
5-4.Session 값 삭제하기
removeAttribute(String name)
name 값에 해당하는 세션 정보를 삭제할 수 있다.
invalidate()
invalidate()로 모든 세션 정보를 한번에 삭제할 수 있다.
5-5.Session 값 삭제하기
<session-config> <session-timeout>120</session-timeout> </session-config>
기본적으로 세션은 30분 유지가되나 나같은 경우 120분으로 변경함.
세션 유지시간은 서버에 접속한 후 서버에 요청을 하지 않는 최대 시간을 말한다.
web.xml에서 설정할 수 있다.
반응형'Study > Server' 카테고리의 다른 글
초보자를 위한 서버에 tomcat 업로드 후 실행시켜보기 (0) 2023.09.26 초보자도 간단하게 이해하는 CORS 개념과 아주쉬운 해결방법 (0) 2023.04.12 localhost 뭐고?? 127.0.0.1 은 또 뭐고?? 192.168.0.1 ?? 다 같은거라는 데??? (0) 2023.03.21 Rest 넌 뭐니?? (0) 2022.12.16 네트워크 망에 따른 분류 (2) 2022.12.15