소프트랩스/비쨔

세션

흑백 개발자 2025. 4. 8. 12:00
728x90
웹 브라우저의 세션과 관련된 개념을 설명해드리겠습니다.
  1. 세션(Session)의 기본 개념
  • 세션은 사용자가 웹사이트를 방문하고 있는 동안의 상태를 유지하는 메커니즘입니다.
  • 사용자가 웹사이트를 처음 방문하면 서버는 고유한 세션 ID를 생성하고, 이 ID를 쿠키를 통해 브라우저에 저장합니다.
  • 이 세션 ID를 통해 서버는 사용자를 식별하고, 사용자별 데이터를 관리할 수 있습니다.
  1. 세션의 주요 특징
  • 임시성: 세션은 사용자가 브라우저를 닫거나 일정 시간 동안 활동이 없으면 종료됩니다.
  • 서버 측 저장: 세션 데이터는 주로 서버에 저장됩니다.
  • 보안성: 세션 ID는 랜덤하게 생성되며, 쿠키에 저장되어 전송됩니다.
  1. 브라우저에서의 세션 관리
  • 쿠키 기반 세션: 가장 일반적인 방식으로, 세션 ID가 쿠키에 저장됩니다.
  • 로컬 스토리지/세션 스토리지: HTML5에서 도입된 방식으로, 클라이언트 측에 데이터를 저장합니다.
  • localStorage: 브라우저를 닫아도 데이터가 유지됩니다.
  • sessionStorage: 브라우저 탭을 닫으면 데이터가 삭제됩니다.
  1. 현재 프로젝트에서의 세션 관리
현재 프로젝트에서는 SessionService를 통해 세션을 관리하고 있습니다. 코드를 살펴보겠습니다:
Searched codebase for "session service"
 
현재 프로젝트에서 세션 관리는 다음과 같이 구현되어 있습니다:
  1. 세션 관리 방식
  • SessionService 클래스를 통해 세션을 관리합니다.
  • 로그인 관련 쿠키를 추출하고 저장합니다:
     
    dart
     
    Apply to camera_bloc....
  1. 세션 동기화
  • 여러 탭 간에 세션을 동기화합니다:
     
    dart
     
    Apply to camera_bloc....
  1. 로그인 상태 관리
  • 로그인 상태를 확인하고 관리합니다:
     
    dart
     
    Apply to camera_bloc....
  1. 세션 종료 처리
  • 로그아웃 시 세션을 정리합니다:
     
    dart
     
    Apply to camera_bloc....
  1. 브라우저와의 차이점
  • 일반 웹 브라우저와 달리, 앱에서는 웹뷰를 통해 세션을 관리합니다.
  • 쿠키와 로컬 스토리지를 모두 사용하여 세션을 유지합니다.
  • 여러 탭 간의 세션 동기화를 위해 추가적인 로직이 필요합니다.
  1. 보안 고려사항
  • 세션 ID는 서버에서 생성되며, 클라이언트는 이를 쿠키로 저장합니다.
  • 로그아웃 시 모든 세션 관련 데이터를 삭제합니다.
  • HTTPS를 사용하여 세션 데이터의 보안을 유지합니다.
이러한 방식으로 앱 내에서 웹 세션을 안전하게 관리하고 있습니다.

 

 

 

728x90

'소프트랩스 > 비쨔' 카테고리의 다른 글

웹뷰 안랩 결제에러 관련  (2) 2025.04.15
웹뷰는 웹의 브라우저  (1) 2025.04.08
결제 intent 에러  (1) 2025.04.03
파이어베이스와 도메인,ip, api 관계  (1) 2025.04.02
ios 빌드번호 바꾸는법  (0) 2025.03.25