본문 바로가기

코딩

세션; Session

728x90
반응형

놀이기구 타는 동안...

 

 

**'Session'(세션)**은 컴퓨터 분야에서 주로 사용되는 용어로, 사용자와 시스템(예: 웹 서버) 간의 연결 또는 상호작용의 지속 시간을 의미한다. 쉽게 말해, 사용자가 웹사이트나 시스템에 접속하여 무언가를 하고 있는 동안의 "대화"나 "작업"을 세션이라고 부른다.


세션의 개념

  1. 사용자와 서버 간의 연결 유지
    세션은 사용자가 웹사이트에 접속해서 로그인을 하거나, 장바구니에 물건을 추가하거나, 어떤 작업을 하는 동안 서버가 해당 사용자를 구별하고 상태를 유지할 수 있도록 돕는다.
  2. 시간 제한
    세션은 영구적이지 않다. 사용자가 웹사이트를 떠나거나, 일정 시간이 지나면 세션이 종료된다. 예를 들어, 인터넷 뱅킹에서 일정 시간 동안 아무 작업도 하지 않으면 자동으로 로그아웃되는 것이 세션 만료의 사례다.
  3. 정보 저장 공간
    세션은 사용자의 특정 정보(로그인 상태, 장바구니 정보 등)를 저장하여, 사용자가 페이지를 이동하더라도 동일한 상태를 유지하도록 한다.

세션의 예시

  • 사용자가 로그인했을 때, 서버는 세션을 생성하여 해당 사용자가 인증된 상태임을 유지.
  • 온라인 쇼핑몰에서 사용자가 장바구니에 물건을 담으면, 이 정보를 세션에 저장.
  • 웹사이트에서 설문조사 작성 중 페이지를 이동해도 이전 답변이 유지되는 경우.

세션의 작동 원리

  1. 세션 생성
    사용자가 웹사이트에 처음 접속하면 서버는 새로운 세션을 생성한다. 이때, 고유한 세션 ID가 부여된다.
  2. 세션 ID 전달
    세션 ID는 주로 쿠키를 통해 클라이언트(사용자 브라우저)에 저장되고, 이후 요청마다 서버에 전송된다.
  3. 정보 저장 및 활용
    서버는 세션 ID를 통해 특정 사용자와 연결된 데이터를 저장하고 관리한다. 이 데이터는 사용자가 서버와 상호작용할 때마다 참조된다.
  4. 세션 종료
    사용자가 로그아웃하거나, 일정 시간이 지나면 세션이 만료되어 데이터가 삭제된다.

쿠키와의 차이점

  • 세션: 서버에 사용자 정보를 저장. 보안에 강함. 클라이언트에는 세션 ID만 전달.
  • 쿠키: 사용자 정보를 클라이언트(브라우저)에 저장. 속도가 빠르지만 보안에 약함.

쉽게 기억하는 방법

세션을 현실에 비유하면 식당에서 식사 시간과 비슷하다.

  1. 손님이 식당에 들어가면(웹사이트 접속), 서버는 해당 손님에게 식탁 번호(세션 ID)를 부여.
  2. 손님이 음식을 주문하거나 요청을 하면(작업 수행), 서버는 식탁 번호를 통해 그 손님의 상태를 파악.
  3. 손님이 식사를 마치고 떠나거나 일정 시간이 지나면(세션 만료), 해당 정보는 삭제.

세션이 중요한 이유

  1. 사용자 맞춤 경험 제공
    로그인 상태를 유지하거나, 사용자 작업을 기억하여 편리함 제공.
  2. 보안 관리
    민감한 데이터를 서버에서 관리하여 클라이언트 노출 최소화.
  3. 효율성
    사용자 데이터를 일시적으로 관리하여 작업 간의 일관성을 유지.

세션은 사용자가 웹을 탐색하거나 작업할 때 필수적인 역할을 한다. '일시적인 사용자와 서버 간의 대화'라는 개념으로 기억하면 된다!

728x90
반응형

'코딩' 카테고리의 다른 글

rest.api 토큰 이터페이스 구현  (1) 2024.12.14
토큰; Token of rest_framework  (3) 2024.12.14
인증과 권한; Authentication and Permissions  (0) 2024.12.12
오버라이딩; Overriding  (2) 2024.12.12
Enhancements; 프로그램 개선사항  (0) 2024.12.12