개발 일지/CS

[Web] Session

미숫가루설탕많이 2023. 3. 15. 08:58

 세션(Session)은 웹사이트에서 사용자 상태를 유지하기 위한 기술 중 하나이다.

 

 쿠키와 달리 세션은 웹 애플리케이션 서버 측에서 사용자 정보를 저장하며, 사용자가 로그인하거나 다른 작업을 수행할 때 생성된다. 이를 통해 사용자는 웹사이트에서 다양한 작업을 수행하며 상태를 유지할 수 있다.

 

 세션은 일반적으로 SessionID라는 고유한 값으로 식별되고 SessionID는 쿠키, URL 임베딩, 헤더 등을 통해 전송된다.

 

 세션을 이용한 상태 유지는 쿠키를 이용한 상태 유지와 달리 보안적인 측면에서 더 안전하다.

 

 쿠키는 브라우저에 저장되기 때문에 사용자가 브라우저에서 쿠키를 삭제하거나 다른 브라우저에서 접속하면 이전의 상태를 복원할 수 없지만, 세션은 서버 측에서 관리되기 때문에 사용자가 로그아웃을 하거나 일정 시간이 지나면 세션 정보를 삭제함으로써 보안적인 위험을 최소화할 수 있다.

 

 하지만 세션은 서버 측에서 관리되기 때문에 더 많은 서버 자원을 요구한다는 단점이 있다.

 

 따라서 대규모 웹 애플리케이션에서는 세션의 사용이 불가피하겠지만, 작은 규모의 웹 애플리케이션이라면 쿠키를 사용하는 것이 더 효율적일 수 있다.

 

 

 

 

작동 방식

 

 세션의 작동 방식은 다음과 같다.

  1. 사용자가 웹사이트에 접속하여 로그인하면 서버에서는 해당 사용자를 식별할 수 있는 고유한 Session ID를 생성한다.
  2. Session ID는 일반적으로 쿠키를 통해 사용자의 브라우저에 전송된다.
  3. 사용자가 다음 요청을 보낼 때, 브라우저는 쿠키에 저장된 세션 ID를 서버로 전송한다.
  4. 서버는 Session ID를 통해 해당 사용자의 정보를 참조하고 요청에 대한 응답을 생성한다.
  5. 사용자가 로그아웃을 하거나 일정 시간이 지나면 서버에서는 해당 세션 정보를 삭제한다.

'개발 일지 > CS' 카테고리의 다른 글

[Cloud] Deploy  (0) 2023.03.30
[Cloud] Cloud Computing  (0) 2023.03.29
[Web] Cookie  (0) 2023.03.14
[Web] HTTPS  (0) 2023.03.14
[CS] Hamcrest  (0) 2023.03.06