728x90
반응형

**'Session'(세션)**은 컴퓨터 분야에서 주로 사용되는 용어로, 사용자와 시스템(예: 웹 서버) 간의 연결 또는 상호작용의 지속 시간을 의미한다. 쉽게 말해, 사용자가 웹사이트나 시스템에 접속하여 무언가를 하고 있는 동안의 "대화"나 "작업"을 세션이라고 부른다.
세션의 개념
- 사용자와 서버 간의 연결 유지
세션은 사용자가 웹사이트에 접속해서 로그인을 하거나, 장바구니에 물건을 추가하거나, 어떤 작업을 하는 동안 서버가 해당 사용자를 구별하고 상태를 유지할 수 있도록 돕는다. - 시간 제한
세션은 영구적이지 않다. 사용자가 웹사이트를 떠나거나, 일정 시간이 지나면 세션이 종료된다. 예를 들어, 인터넷 뱅킹에서 일정 시간 동안 아무 작업도 하지 않으면 자동으로 로그아웃되는 것이 세션 만료의 사례다. - 정보 저장 공간
세션은 사용자의 특정 정보(로그인 상태, 장바구니 정보 등)를 저장하여, 사용자가 페이지를 이동하더라도 동일한 상태를 유지하도록 한다.
세션의 예시
- 사용자가 로그인했을 때, 서버는 세션을 생성하여 해당 사용자가 인증된 상태임을 유지.
- 온라인 쇼핑몰에서 사용자가 장바구니에 물건을 담으면, 이 정보를 세션에 저장.
- 웹사이트에서 설문조사 작성 중 페이지를 이동해도 이전 답변이 유지되는 경우.
세션의 작동 원리
- 세션 생성
사용자가 웹사이트에 처음 접속하면 서버는 새로운 세션을 생성한다. 이때, 고유한 세션 ID가 부여된다. - 세션 ID 전달
세션 ID는 주로 쿠키를 통해 클라이언트(사용자 브라우저)에 저장되고, 이후 요청마다 서버에 전송된다. - 정보 저장 및 활용
서버는 세션 ID를 통해 특정 사용자와 연결된 데이터를 저장하고 관리한다. 이 데이터는 사용자가 서버와 상호작용할 때마다 참조된다. - 세션 종료
사용자가 로그아웃하거나, 일정 시간이 지나면 세션이 만료되어 데이터가 삭제된다.
쿠키와의 차이점
- 세션: 서버에 사용자 정보를 저장. 보안에 강함. 클라이언트에는 세션 ID만 전달.
- 쿠키: 사용자 정보를 클라이언트(브라우저)에 저장. 속도가 빠르지만 보안에 약함.
쉽게 기억하는 방법
세션을 현실에 비유하면 식당에서 식사 시간과 비슷하다.
- 손님이 식당에 들어가면(웹사이트 접속), 서버는 해당 손님에게 식탁 번호(세션 ID)를 부여.
- 손님이 음식을 주문하거나 요청을 하면(작업 수행), 서버는 식탁 번호를 통해 그 손님의 상태를 파악.
- 손님이 식사를 마치고 떠나거나 일정 시간이 지나면(세션 만료), 해당 정보는 삭제.
세션이 중요한 이유
- 사용자 맞춤 경험 제공
로그인 상태를 유지하거나, 사용자 작업을 기억하여 편리함 제공. - 보안 관리
민감한 데이터를 서버에서 관리하여 클라이언트 노출 최소화. - 효율성
사용자 데이터를 일시적으로 관리하여 작업 간의 일관성을 유지.
세션은 사용자가 웹을 탐색하거나 작업할 때 필수적인 역할을 한다. '일시적인 사용자와 서버 간의 대화'라는 개념으로 기억하면 된다!
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 |