공부 노트

session 이란

미로910 2024. 7. 15. 17:04

세션 session

사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점까지, 같은 사용자로부터 오는 일련의 요청을 하나의 상태로 보고, 그 상태를 일정하게 유지하는 기술

클라이언트와 서버 간의 연결 상태를 의미

(클 -> 서버와 접속이 종료하기 전의 상태 // 웹 사이트 -> 창을 닫기 전까지의 상태)


동작 순서

클 -> 서버 ▶ 서버에 정보 저장

 

1. 클라이언트에 요청

2. Request - Header 필드 Cookie 세션 ID 확인

3. Cookie 세션 ID 서버에 저장

4. 세션 ID 값 -> 서버에 전달


쿠키 Cookie

HTTP의 일종으로 웹 사이트 방문시, 그 사이트가 사용하고 있는 서버에서 사용자의 클라이언트에 저장하는 기록 데이터 파일 ex) 아이디/비번 자동 입력


세션이랑 쿠키 차이점은?

저장위치

저장위치가 다르기 때문에 라이프사이클(만료시점)이나 속도, 보안의 차이점이 있다


세션이랑 쿠키를 사용하는 이유는

HTTP 프로토콜약점을 보완하기 위해 사용한다.

1. connectionless.Protocol 비연결지향

클라이언트가 서버에 요청했을 때, 응답을 보낸 후 연결을 끊는 방식

2. Stateless Protocol 상태 정보 유지 안함

클라이언트의 상태 정보를 가지지 않는 서버 처리 방식.

 

통신에서 이전 데이터를 유지 하지 않는다

▶한번 통신 후 끊어지게 된다. 그럼 계속 인증을 해야 되는데 번거롭고 웹 로딩을 느리게 한다 

 

클라이언트와 서버 통신시 정보를 유지하기 위해 사용하는 것이 쿠키와 세션이다

 


 

쿠키를 사용하는 이유는?

서버지원의 낭비를 줄이려고 쿠키를 사용한다

▶ 세션은 서버에 저장되기 때문에 사용자가 많을 경우 소모 되는 자원이 상당하다

 


세션을 사용 하려면

HTTPSession

ex) HTTPSession session = request.getsession()