일정 시간동안 같은 브라우저로 들어오는 요청을 하나의 상태로 보고 그 상태를 유지하는 기술이다.
웹 브라우저를 통해 서버에 접속한 이후부터 브라우저를 종료할 때까지 데이터가 유지된다.
웹브라우저가 서버에 요청할 때
서버가 해당 클라이언트에 유일한 ID(Session ID)를 부여함
이후 서버는 응답할 때 HTTP 헤더(Set-Cookie)에 Session ID를 포함해서 전송한다.
쿠키에 Session ID를 JSESSIONID 라는 이름으로 저장
Set−Cookie: JSESSIONID=xslei102f
웹브라우저는 이후 웹브라우저를 닫기까지 다음 요청 때 부여된 Session ID가 담겨있는 쿠키를 HTTP 헤더에 넣어서 전송
Cookie: JSESSIONID=xslei102f
서버는 쿠키를 통해 세션 ID를 확인하고,
해당 세션에 관련된 정보를 확인하고 응답한다.
쿠키와 달리 해당 데이터를 Server에서 관리하고
클라이언트에는 Session ID만 쿠키 헤더를 통해 넘겨줌.
클라이언트에서 데이터가 관리되는 쿠키에 비해서
보안적인 측면에서 더 효과적이다, 반면 같은 이유로 속도면에서는 쿠키보다 취약함.