세션 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()
'공부 노트' 카테고리의 다른 글
추상화와 다형성 (1) | 2024.09.26 |
---|---|
스레드란? (스레드/멀티스레드) (4) | 2024.09.25 |
싱글톤 패턴이란? (1) | 2024.09.25 |
Spring Boot - IoC란? (제어의 역전) // 싱글톤 패턴 (공부하기) (0) | 2024.08.13 |
PreparedStatement란 (1) | 2024.07.08 |