세션(session)은 정보 시스템, 특히 컴퓨터 네트워크 및 웹 애플리케이션에서 사용자와 서버 간의 상호작용을 관리하는 단위를 의미한다. 세션은 사용자가 시스템에 접속하여 작업을 수행하는 동안 유지되는 상태 정보를 포함하며, 일련의 요청과 응답을 통한 상호작용이 이루어진다.
세션의 주요 목적은 사용자의 상태를 유지하고, 동일 사용자로부터의 요청을 효과적으로 식별하는 것이다. 이를 통해 사용자 경험을 향상시키고, 개인화된 기능을 제공할 수 있다. 세션은 일반적으로 세션 ID로 식별되며, 이 ID는 사용자가 서버와 연결할 때 생성된다. 이후 클라이언트는 서버에 요청을 보낼 때 이 ID를 사용하여 본인의 세션을 식별한다.
세션은 여러 형태로 구현될 수 있으며, 웹 애플리케이션의 경우 주로 쿠키를 통해 관리된다. 서버는 클라이언트의 쿠키에 세션 ID를 저장하고, 클라이언트는 이후 요청 시 이 쿠키를 서버에 전송한다. 또한, 서버 측에서는 세션 정보를 저장하기 위한 데이터베이스나 메모리 저장소를 사용하여 비즈니스 로직에 필요한 정보를 담고 있다.
세션은 일반적으로 로그인, 사용자 인터랙션, 장바구니 기능 등과 같은 활동에서 사용되며, 일정 시간이 지나면 자동으로 종료되는 타임아웃 기능을 갖기도 한다. 이로 인해 보안을 강화하고 비정상적인 사용을 방지할 수 있다.
특히, MoCA(Session Control)와 같은 세션 관리 프로토콜은 다양한 유형의 상호작용을 관리하기 위해 개발되었으며, 보다 복잡한 사용자 관리가 필요한 대규모 웹 서비스에서 자주 사용된다. 세션은 웹 애플리케이션의 성능과 보안, 사용자 편의성 향상에 중대한 역할을 하는 핵심 개념이다.