-
Session 객체WEB/JSP 2022. 7. 13. 15:20
세션(Session)이란 일정 시간동안 같은 사용자(정확하게 브라우저를 말한다)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술이다.
방문자의 요청에 따른 정보를 방문자 메모리에 저장하는 것이 아닌 웹 서버가 세션 아이디 파일을 만들어 서비스가 돌아가고 있는 서버에 저장하는 것이다.
서버에 저장되기 때문에 사용자 정보가 노출되지 않는다.
1. 세션의 원리
- 세션 ID를 서버에서 클라이언트가 자시 웹사이트에 접속시 발급해준다.
- 서버에서 클라이언트로 발급해준 세션 ID를 쿠키를 사용해서 저장합니다.
- 클라이언트는 다시 접속시, 이 쿠키를 이용해서 세션 ID값을 전달합니다.
HTTP 세션 동작 순서
- 클라이언트가 서버로 접속을 시도한다.
- 서버는 접근한 클라이언트의 request-header field인 쿠키를 확인해 클라이언트가 해당 session-id를 보내왔는지 확인한다.
- 만약 클라이언트로부터 발송된 session-id가 없다면, 서버는 session-id를 생성해 클라이언트에게 response-header field인 set cookie 값으로 session-id를 발행한다.
세션 예제
지난번 Application객체 사용 코드와 동일한 간단한 계산 코드이다.
(Application 부분만 session으로 교체)
크롬브라우저 파이어폭스 브라우저 브라우저에 따라 세션 아이디가 다른것을 확인 할수 있다.
이는 같은 사용자라 할지라도 각 브라우저에 부여된 세션ID가 다르기 때문에 세션공간에 저장된 자원을 공유 할수 없다.
이미지 출처:https://www.youtube.com/c/%EB%89%B4%EB%A0%89%EC%B2%98
'WEB > JSP' 카테고리의 다른 글
JSP 라이프 사이클(파일이 처리되는 과정) (1) 2022.09.23 Cookie (0) 2022.07.13 Application 객체 (0) 2022.07.12 서블릿 필터 (0) 2022.07.12 POST (0) 2022.07.12