의문점 공부하기/📌 Java

📌 세션 과정 알아보기

아리빠 2023. 8. 11. 15:23

클라이언트의 요청 수신:
사용자가 브라우저를 통해 웹 애플리케이션에 접속하면, 클라이언트의 요청이 서버로 전송

세션 생성 및 세션 ID 생성:
서버는 클라이언트의 요청을 받으면 세션을 생성하고 고유한 세션 ID를 생성. 세션 ID는 클라이언트와 서버 간의 상태를 유지하는 데 사용

세션 ID를 쿠키로 전송:
서버는 생성된 세션 ID를 HTTP 응답 헤더에 포함하여 클라이언트에게 전송

일반적으로 이 세션 ID는 쿠키를 통해 클라이언트에게 저장되고 이 쿠키는 클라이언트 측에서 세션을 식별하는 데 사용된다

클라이언트의 세션 ID 전송:
클라이언트는 이후 요청 시 쿠키에 저장된 세션 ID를 요청 헤더에 포함하여 서버로 전송

세션 식별 및 상태 유지:
서버는 받은 세션 ID를 사용하여 해당 클라이언트의 세션을 식별. 서버는 세션에 상태 정보를 저장하거나 업데이트하여 클라이언트와의 상태를 유지하게 된다, 이 상태 정보는 서버의 메모리나 데이터베이스에 저장

응답 생성 및 전송:
서버는 클라이언트의 요청에 따라 필요한 데이터를 처리하고 응답을 생성. 응답은 HTTP 응답 본문에 포함되며, 필요한 경우 세션 ID를 클라이언트로 전송

세션 만료:
세션은 일정 시간 동안 유지되며, 만료 시간이 지나면 서버는 해당 세션을 제거

클라이언트가 재요청할 때 만료된 세션 ID를 사용하면, 새로운 세션을 생성하게 된다