맨위로가기

세션 (컴퓨터 과학)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

세션은 컴퓨터 시스템에서 사용자를 인식하고 자원을 사용할 수 있도록 허용하는 기간을 의미하며, 로그인 과정을 통해 성립된다. 세션 관리는 사용자의 활동을 추적하여 로그인 상태를 유지하고, 데스크톱 환경에서는 열린 프로그램과 문서를 기억하며, 웹사이트에서는 세션 만료 시 재 로그인을 요구하는 역할을 한다. 세션은 소프트웨어적으로 구현되며, 클라이언트 측과 서버 측으로 나뉜다. 클라이언트 측 세션은 쿠키와 암호화를 통해 상태를 유지하며, 서버 측 세션은 부하 분산 시스템에서 어려움이 있을 수 있다. 웹 환경에서 세션 관리는 HTTP의 무상태 프로토콜 문제를 해결하기 위한 기술로, 세션 토큰과 같은 기술이 사용된다.

더 읽어볼만한 페이지

  • HTTP - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • HTTP - HTTP 쿠키
    HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.
  • 월드 와이드 웹 - 구글
    구글은 래리 페이지와 세르게이 브린이 개발한 웹 검색 엔진에서 출발하여 검색 기술 혁신을 통해 유튜브, 안드로이드 등 다양한 서비스를 제공하는 세계적인 기술 기업으로 성장했지만, 개인정보보호 및 독점 논란에도 직면하고 있다.
  • 월드 와이드 웹 - 온라인 언론
    온라인 언론은 인터넷을 통해 뉴스 및 정보를 제공하며, 디지털 기술 발달과 함께 성장하여 시민 저널리즘 부상, 정보 전달 속도 혁신 등의 특징을 보이지만 정보 신뢰성 문제, 전통 언론 쇠퇴 등의 과제를 안고 있다.
  • 네트워크 프로토콜 - UUCP
    UUCP는 유닉스 시스템 간 파일 복사, 원격 명령 실행, 이메일 및 유즈넷 뉴스 전송을 위한 프로토콜 및 프로그램 모음으로, 초기 인터넷 확장에 중요한 역할을 했으나 TCP/IP 기반 서비스 보편화로 사용이 감소했다.
  • 네트워크 프로토콜 - 프레임 릴레이
    프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
세션 (컴퓨터 과학)

2. 세션의 개념 및 작동 방식

일반적으로 세션은 컴퓨터 시스템 관리자(또는 OS 또는 서버)가 자신의 자산을 이용하도록 허락한 사용자 (컴퓨팅)를 인식하는 일정한 기간을 가리킨다.[9] 이 기간 동안 사용자는 시스템으로부터 허락된 범위 안에서 응용 프로그램, 설정값, 자원을 사용할 수 있지만, 이러한 인스턴스는 여전히 시스템 관리자의 감독하에 관리된다.[9]

세션은 보통 로그인을 통해 컴퓨터와 사용자 간에 성립되고 유지된다. 세션을 통해 특정 사용자를 다른 사용자로부터 보호하거나, 예기치 않은 로그아웃으로부터 특정 사용자의 이전 기록을 복원할 수 있다.

세션은 컴퓨터 네트워크 상에서 OSI 7 계층 모형의 세션 계층인 제5레이어에 해당된다. 인간-컴퓨터 상호 작용에서 '''세션 관리'''는 컴퓨터 시스템과의 대화 세션 전체에서 사용자의 활동을 추적하는 프로세스를 말한다.

데스크톱 환경에서 세션 관리는 열려 있는 애플리케이션이나 각 애플리케이션이 열고 있는 문서를 기록하고, 사용자가 로그아웃하고 재로그인했을 때 동일한 상태를 복원하는 것이다. 웹사이트의 경우, 세션 관리는 세션이 만료된 사용자에게 재로그인을 요구하거나, HTTP 요청 간에 서버 측에 정보를 저장하는 데 사용될 수 있다.

2. 1. 소프트웨어 구현

TCP 세션은 일반적으로 컴퓨터가 세션을 설정하거나 참여할 때 새로운 프로세스나 멀티스레딩을 생성하는 자식 프로세스 및/또는 멀티스레딩을 사용하여 소프트웨어로 구현된다.[1] HTTP 세션은 세션당 하나의 스레드를 사용하는 것이 아니라 각 세션의 상태 정보를 가진 데이터베이스를 사용하여 구현된다.[1] 여러 프로세스 또는 스레드를 사용하는 장점은 각 스레드가 자체 기록과 캡슐화된 변수를 가진 인스턴스가 되므로 소프트웨어의 복잡성이 완화된다는 것이다.[1] 단점은 시스템 리소스 측면에서 오버헤드가 크고 시스템이 재시작되면 세션이 중단될 수 있다는 것이다.[1]

클라이언트가 서버 클러스터의 모든 서버에 연결할 수 있는 경우, 서버가 세션 상태를 유지해야 할 때 일관성을 유지하는 데 특별한 문제가 발생한다.[1] 클라이언트는 세션 기간 동안 동일한 서버로 이동하거나 서버는 공유 파일 시스템 또는 데이터베이스를 통해 서버 측 세션 정보를 전송해야 한다.[1] 그렇지 않으면 클라이언트는 세션을 시작한 서버와 다른 서버에 다시 연결할 수 있으며, 새 서버가 이전 서버의 저장된 상태에 접근할 수 없는 경우 문제가 발생한다.[1]

2. 2. 클라이언트 측 및 서버 측 세션

세션은 클라이언트 측 세션과 서버 측 세션으로 나눌 수 있다.
서버 측 세션은 사용자가 시스템에 로그인하여 일정 시간 동안 시스템 자원을 사용할 수 있게 해주는 방식이다.[9] 서버 측 세션은 편리하고 효율적이지만, 부하 분산/고가용성 시스템에서는 사용하기 어렵고, 저장 공간이 없는 일부 임베디드 시스템에서는 사용할 수 없다. 부하 분산 문제는 공유 저장소를 사용하거나 클라이언트와 서버 간 강제 피어링을 적용하여 해결할 수 있지만, 시스템 효율성과 부하 분산을 저해할 수 있다. 저장 공간이 없는 시스템에서는 RAM 일부를 세션 데이터 저장에 사용하기도 한다. TCP 세션은 자식 프로세스나 멀티 스레드를 사용하여 소프트웨어로 구현되며, HTTP 세션은 각 세션의 상태 정보를 갖는 데이터베이스를 사용하여 구현된다.
클라이언트 측 세션쿠키와 암호화 기술을 사용하여 서버 부하를 줄이는 방식이다. 서버는 상태 데이터를 쿠키 형태로 클라이언트에 보내고, 클라이언트는 이를 저장했다가 다음 요청 시 서버로 다시 보낸다. 이 방식은 서버 저장 공간을 절약하지만, 클라이언트에 저장된 데이터가 변조될 위험이 있어 기밀성, 데이터 무결성, 진위성 보장이 필요하다. 이를 위해 서버는 데이터를 암호화하여 클라이언트에 전송한다.

2. 2. 1. 클라이언트 측 세션

클라이언트 측 세션은 쿠키와 암호화 기술을 사용하여 서버에 많은 데이터를 저장하지 않고 상태를 유지한다. 동적 웹 페이지를 표시할 때 서버는 현재 상태 데이터를 쿠키 형태로 클라이언트(웹 브라우저)로 보낸다. 클라이언트는 쿠키를 메모리 또는 디스크에 저장한다. 각 후속 요청 시 클라이언트는 쿠키를 서버로 다시 보내고, 서버는 데이터를 사용하여 해당 특정 클라이언트에 대한 애플리케이션의 상태를 "기억"하고 적절한 응답을 생성한다.

이 메커니즘은 일부 상황에서 잘 작동할 수 있다. 그러나 클라이언트에 저장된 데이터는 사용자에 의해 또는 클라이언트 컴퓨터에 접근할 수 있는 소프트웨어에 의해 변조될 수 있다. 기밀성과 무결성이 요구되는 클라이언트 측 세션을 사용하려면 다음 사항이 보장되어야 한다.

  • 기밀성: 서버를 제외하고는 세션 데이터를 해석할 수 있는 주체가 없어야 한다.
  • 데이터 무결성: 서버를 제외하고는 세션 데이터를 조작할 수 있는 주체가 없어야 한다(우발적이거나 악의적인 경우).
  • 진위성: 서버를 제외하고는 유효한 세션을 시작할 수 있는 주체가 없어야 한다.


이를 위해 서버는 클라이언트로 데이터를 보내기 전에 세션 데이터를 암호화해야 하며, 암호화 수단을 통해 다른 당사자가 이러한 정보를 수정하는 것을 방지해야 한다.

모든 요청과 함께 상태를 주고받는 것은 쿠키의 크기가 작을 때만 실용적이다. 본질적으로, 클라이언트 측 세션은 각 웹 요청에 필요한 추가 대역폭에 대해 서버 디스크 공간을 거래한다. 또한 웹 브라우저는 웹 사이트에서 저장할 수 있는 쿠키의 수와 크기를 제한한다. 효율성을 개선하고 더 많은 세션 데이터를 허용하기 위해 서버는 쿠키를 생성하기 전에 데이터를 압축하고, 클라이언트가 쿠키를 반환할 때 나중에 압축을 해제할 수 있다.

2. 2. 2. 서버 측 세션

일반적으로 세션은 컴퓨터 시스템의 관리자(또는 OS 또는 서버)가 자신의 자산을 이용하는 것을 허락한 사용자 (컴퓨팅)를 인식한 일정한 기간을 가리키는 것으로 광범위하게 이해될 수 있다. 따라서, 세션 동안에 사용자는 시스템으로부터 허락된 범위 안에서 응용 프로그램, 설정값, 자원을 사용할 수 있게 되지만, 이러한 인스턴스는 여전히 세션 관리자인 컴퓨터 시스템의 감독 하에 관리되어야 한다.[9]

이러한 세션은 일반적으로 로그인 방식을 통해 컴퓨터와 사용자 간에 성립되고 유지된다.

이로써 세션은 특정 사용자를 다른 사용자로부터 보호하거나 예기치 않은 로그아웃으로부터 특정 사용자의 이전 기록 복원이 가능하게 된다. 서버 측 세션은 편리하고 효율적이지만, 부하 분산/고가용성 시스템과 함께 사용하기 어려워질 수 있으며, 저장 공간이 없는 일부 임베디드 시스템에서는 전혀 사용할 수 없다. 부하 분산 문제는 공유 저장소를 사용하거나, 각 클라이언트와 클러스터 내 단일 서버 간에 강제 피어링을 적용하여 해결할 수 있지만, 이는 시스템 효율성과 부하 분산을 저해할 수 있다.

대용량 저장소가 없는 시스템에서 서버 측 세션을 사용하는 방법은 세션 데이터를 저장하기 위해 RAM의 일부를 예약하는 것이다. 이 방법은 클라이언트 수가 제한된 서버(예: 한 번에 한 명 이상의 클라이언트에 대한 접근이 드물거나 허용되지 않는 라우터 또는 액세스 포인트)에 적용할 수 있다.

TCP 세션은 일반적으로 자식 프로세스나 멀티 스레드를 사용하여 소프트웨어로 구현되며, 컴퓨터가 세션을 확립하거나 세션에 참여하면 새로운 프로세스 또는 스레드가 생성된다. HTTP 세션은 일반적으로 1세션 1스레드 방식이 아닌, 각 세션의 상태 정보를 갖는 데이터베이스를 사용하여 구현된다. 멀티 프로세스 또는 멀티 스레드를 사용하는 이점은 각 스레드가 고유한 이력과 캡슐화된 변수를 갖는 인스턴스가 되므로 소프트웨어의 복잡성이 완화된다는 것이다. 단점은 시스템 리소스에 관한 오버헤드가 크다는 것과 시스템이 재시작하면 세션이 중단될 수 있다는 것이다.

클라이언트가 서버 클러스터 내의 어느 서버에도 접속할 가능성이 있고, 서버가 세션 상태를 유지해야 하는 경우, 일관성 유지에 특별한 문제가 발생한다. 세션이 유지되는 동안, 클라이언트를 동일한 서버로 라우팅하거나, 또는 클러스터 측에서 세션 정보를 공유 파일 시스템 또는 데이터베이스를 통해 서버 간에 전달해야 한다. 그렇게 하지 않으면 클라이언트가 세션 시작 시와는 다른 서버에 재접속하여, 해당 서버가 이전에 저장된 세션 상태에 접근하지 못하여 문제가 발생할 우려가 있다.

3. 세션 관리 기술

일반적으로 세션은 컴퓨터 시스템 관리자(또는 OS 또는 서버)가 자신의 자원을 이용하는 것을 허락한 사용자 (컴퓨팅)를 인식한 일정한 기간을 가리킨다.[9] 세션 동안 사용자는 시스템으로부터 허락된 범위 안에서 응용 프로그램, 설정값, 자원을 사용할 수 있지만, 이러한 인스턴스는 여전히 세션 관리자인 컴퓨터 시스템의 감독하에 관리된다.[9]

이러한 세션은 일반적으로 로그인을 통해 컴퓨터와 사용자 간에 성립되고 유지된다. 세션은 특정 사용자를 다른 사용자로부터 보호하거나 예기치 않은 로그아웃으로부터 특정 사용자의 이전 기록 복원을 가능하게 한다. 한편, 세션은 컴퓨터 네트워크상에서 OSI 7 계층 모형의 세션 계층인 제5레이어에 해당된다.

클라이언트 측 세션은 쿠키와 암호화 기술을 사용하여 서버에 많은 데이터를 저장하지 않고 상태를 유지한다. 동적 웹 페이지를 표시할 때 서버는 현재 상태 데이터를 쿠키 형태로 클라이언트(웹 브라우저)로 보낸다. 클라이언트는 쿠키를 메모리 또는 디스크에 저장하고, 각 후속 요청 시 쿠키를 서버로 다시 보내 서버가 해당 데이터를 사용하여 특정 클라이언트에 대한 애플리케이션의 상태를 "기억"하고 적절한 응답을 생성한다.

이 메커니즘은 일부 상황에서 잘 작동할 수 있지만, 클라이언트에 저장된 데이터는 사용자에 의해 또는 클라이언트 컴퓨터에 접근할 수 있는 소프트웨어에 의해 변조될 수 있다. 기밀성과 무결성이 요구되는 클라이언트 측 세션을 사용하려면 다음 사항이 보장되어야 한다.


  • 기밀성: 서버를 제외하고는 세션 데이터를 해석할 수 있는 주체가 없어야 한다.
  • 데이터 무결성: 서버를 제외하고는 세션 데이터를 조작할 수 있는 주체가 없어야 한다(우발적이거나 악의적인 경우).
  • 진위성: 서버를 제외하고는 유효한 세션을 시작할 수 있는 주체가 없어야 한다.


이를 위해 서버는 클라이언트로 데이터를 보내기 전에 세션 데이터를 암호화해야 하며, 암호화 수단을 통해 다른 당사자가 이러한 정보를 수정하는 것을 방지해야 한다.

모든 요청과 함께 상태를 주고받는 것은 쿠키의 크기가 작을 때만 실용적이다. 본질적으로, 클라이언트 측 세션은 각 웹 요청에 필요한 추가 대역폭에 대해 서버 디스크 공간을 거래한다. 또한 웹 브라우저는 웹 사이트에서 저장할 수 있는 쿠키의 수와 크기를 제한한다. 효율성을 개선하고 더 많은 세션 데이터를 허용하기 위해 서버는 쿠키를 생성하기 전에 데이터를 압축하고, 클라이언트가 쿠키를 반환할 때 나중에 압축을 해제할 수 있다.

세션 토큰은 현재 상호 작용 세션을 식별하기 위해 서버가 생성하여 클라이언트로 전송하는 고유 식별자이다. 클라이언트는 일반적으로 토큰을 HTTP 쿠키로 저장하여 전송하거나 GET 또는 POST 쿼리의 매개변수로 전송한다. 세션 토큰을 사용하는 이유는 클라이언트가 식별자만 처리하면 되기 때문이다. 모든 세션 데이터는 서버(일반적으로 클라이언트가 직접 액세스할 수 없는 데이터베이스)에 해당 식별자와 연결되어 저장된다.

3. 1. 데스크톱 세션 관리

인간-컴퓨터 상호 작용에서 '''세션 관리'''는 컴퓨터 시스템과의 상호 작용 세션 전반에 걸쳐 사용자의 활동을 추적하는 프로세스이다.[9]

데스크톱 환경에서 전형적인 세션 관리 작업에는 어떤 응용 프로그램이 열려 있고 각 응용 프로그램이 어떤 문서를 열었는지 추적하여 사용자가 로그아웃하고 나중에 다시 로그인할 때 동일한 상태를 복원할 수 있도록 하는 작업이 포함된다. 웹사이트의 경우 세션 관리는 세션이 만료된 경우(예: 사용자 활동 없이 특정 시간 제한이 경과한 경우) 사용자가 다시 로그인하도록 요구하는 것을 포함할 수 있다. 또한 HTTP 요청 간의 서버 측에서 정보를 저장하는 데에도 사용된다.[9]

데스크톱 세션 관리자는 데스크톱 세션을 저장하고 복원할 수 있는 프로그램이다. 데스크톱 세션은 현재 실행 중인 모든 창과 현재 내용을 의미한다. 리눅스 기반 시스템의 세션 관리는 X 세션 관리자가 제공한다. 마이크로소프트 윈도우 시스템에서 세션 관리는 세션 관리자 하위 시스템(smss.exe)이 제공하며, 사용자 세션 기능은 트윈스플레이와 같은 타사 응용 프로그램으로 확장할 수 있다.[9]

3. 2. 브라우저 세션 관리

세션 관리는 사용자가 열려 있는 모든 페이지와 설정을 저장하고 나중에, 또는 다른 컴퓨터에서 복원할 수 있게 해주므로 웹 브라우저에서 특히 유용하다(데이터 이식성 참조).[9]

시스템 또는 애플리케이션 충돌로부터 복구하기 위해 다음 실행 시 페이지와 설정을 복원할 수도 있다.[9] 구글 크롬, 모질라 파이어폭스, 인터넷 익스플로러, 옴니웹, 오페라는 세션 관리를 지원하는 웹 브라우저의 예이다.[9] 세션 관리는 종종 쿠키를 적용하여 관리된다.[9]

3. 3. 웹 서버 세션 관리

하이퍼텍스트 전송 프로토콜(HTTP)은 상태 비저장이므로 웹 브라우저를 실행하는 클라이언트 컴퓨터는 HTTP GET 요청 또는 POST 요청마다 TCP 네트워크 연결을 웹 서버에 설정해야 한다. 따라서 웹 서버는 단일 HTTP GET 또는 POST 작업보다 더 오랫동안 설정된 TCP 네트워크 연결을 사용할 수 없다. 세션 관리는 웹 개발자가 상태 비저장 HTTP 프로토콜을 세션 상태에 대응시키기 위해 사용하는 기술이다. 예를 들어, 웹 서버에서 한 번 승인되면 다음 HTTP 요청(GET 또는 POST)에서 서버에서 다시 계정과 비밀번호를 요청하는 일은 없어야 한다.

서버 측 세션은 다루기 쉽고 효율적이지만, 부하 분산/고가용성 시스템이 얽히면 어려워질 수 있으며, 또한 스토리지를 갖지 않은 내장형 시스템의 일부에서는 전혀 사용할 수 없다. 부하 분산 문제는 공유 스토리지를 사용하거나 클라이언트마다 한 대의 클러스터 내 서버와 피어링을 맺게 함으로써 해결할 수 있지만, 시스템의 효율성과 부하 배분이 손상될 수 있다.[9]

대용량 스토리지를 갖지 않은 시스템에서는 서버 측 세션을 사용할 때, 세션 데이터 저장을 위해 RAM을 확보하는 방법이 있다. 이 방법은 클라이언트 수가 제한되어 있는 서버(클라이언트에 대한 동시 접속이 드물거나 허용되지 않은 라우터나 액세스 포인트 등)에 적용할 수 있다.

서비스 지향 아키텍처에서는 XML 메시지로 구축된 SOAP 메시지를 소비자 애플리케이션에서 사용하여 웹 서버에 세션을 생성할 수 있다.

3. 3. 1. 세션 토큰

세션 토큰은 현재 상호 작용 세션을 식별하기 위해 서버가 클라이언트로 생성하여 전송하는 고유 식별자이다. 클라이언트는 일반적으로 토큰을 HTTP 쿠키로 저장하고 전송하거나 GET 또는 POST 쿼리의 매개변수로 전송한다. 세션 토큰을 사용하는 이유는 클라이언트가 식별자만 처리하면 되기 때문이다. 모든 세션 데이터는 서버(일반적으로 클라이언트가 직접 액세스할 수 없는 데이터베이스)에 해당 식별자와 연결되어 저장된다.

다음은 일부 프로그래밍 언어에서 HTTP 쿠키 이름을 지정할 때 사용하는 이름의 예시이다.

프로그래밍 언어쿠키 이름
JSPJSESSIONID
PHPPHPSESSID
CGICGISESSID
ASPASPSESSIONID


3. 3. 2. 웹 서버 클러스터 환경에서의 세션 관리

하이퍼텍스트 전송 규약(HTTP)은 무상태 프로토콜이기 때문에, 웹 개발자는 사용자가 웹 서버에 인증된 후 다음 HTTP 요청(GET 또는 POST)에서 사용자 계정과 비밀번호를 다시 묻지 않도록 하기 위해 세션 관리 기술을 사용한다. 이를 위해 사용되는 방법으로는 HTTP 쿠키 및 세션 ID가 있다.[9]

여러 웹 서버가 세션 상태를 공유해야 하는 상황, 즉 클러스터 환경에서는 세션 정보를 웹 서버 소프트웨어를 실행하는 클러스터 노드 간에 공유해야 한다. 클러스터에서 노드 간에 세션 상태를 공유하는 방법은 다음과 같다.[9]

  • 세션 정보를 멤버 노드로 멀티캐스팅 (예: JGroups)
  • 분산 공유 메모리 또는 메모리 가상화를 사용하여 파트너 노드와 세션 정보 공유
  • 네트워크 소켓을 사용하여 노드 간에 세션 정보 공유
  • 분산 파일 시스템 또는 글로벌 파일 시스템과 같은 공유 파일 시스템에 세션 정보 저장
  • 데이터베이스의 클러스터 외부에 세션 정보 저장


세션 정보가 거래의 부인 방지에 필요하지 않고, 컴플라이언스 감사 대상 데이터(예: 미국의 건강 보험 이동성 및 책임법, 사베인스-옥슬리 법)를 포함하지 않는 일시적이고 휘발성 데이터로 간주되는 경우에는 위의 모든 방법을 사용할 수 있다. 그러나 세션 정보가 감사 규정 준수 대상인 경우 세션 저장, 복제 및 클러스터링에 사용되는 방법을 신중하게 고려해야 한다.[9]

클라이언트가 서버 클러스터 내의 어느 서버에도 접속할 가능성이 있고, 서버가 세션 상태를 유지해야 하는 경우, 일관성 유지에 특별한 문제가 발생한다. 세션이 유지되는 동안 클라이언트를 동일한 서버로 라우팅하거나, 클러스터 측에서 세션 정보를 공유 파일 시스템 또는 데이터베이스를 통해 서버 간에 전달해야 한다. 그렇지 않으면 클라이언트가 세션 시작 시와는 다른 서버에 재접속하여, 해당 서버가 이전에 저장된 세션 상태에 접근하지 못하여 문제가 발생할 수 있다.[9]

3. 4. SMS 세션 관리

인간-컴퓨터 상호 작용에서 '''세션 관리'''는 컴퓨터 시스템과의 상호 작용 세션 전반에 걸쳐 사용자의 활동을 추적하는 프로세스이다.

HTTP가 무상태 프로토콜인 것처럼, SMS 또한 그렇다. 1999년에 SMS가 경쟁 네트워크 간에 상호 운용 가능하게 되면서,[2] 문자 메시지가 보편적인 글로벌 통신 형태로 부상하기 시작했다.[3] 다양한 기업들이 상업적 목적으로 SMS 채널을 사용하는 데 관심을 갖게 되었다. 초기 서비스는 단방향 통신(예: 2000년에 최초의 모바일 뉴스 서비스가 핀란드에서 SMS를 통해 제공됨)이었기 때문에 세션 관리가 필요하지 않았다. 오늘날 이러한 애플리케이션은 애플리케이션 대 피어(A2P) 메시징이라고 불리며, 피어 투 피어(P2P) 메시징과 구별된다. 대화형 엔터프라이즈 애플리케이션의 개발은 세션 관리를 필요로 했지만, SMS는 GSM 표준에 의해 정의된 무상태 프로토콜이므로,[4] 초기 구현은 최종 사용자가 명령과 서비스 식별자를 수동으로 입력하도록 하여 클라이언트 측에서 제어되었다.

4. 한국 웹 환경에서의 세션 관리

한국 웹 환경에서 세션 관리는 일반적인 세션 개념과 크게 다르지 않다. OS서버와 같은 시스템 관리자가 사용자에게 자원 이용을 허락한 기간을 의미하며, 로그인을 통해 세션이 성립되고 유지된다.[9] 세션은 사용자를 다른 사용자로부터 보호하고, 예기치 않은 로그아웃 시 이전 기록을 복원하는 데 사용된다.

4. 1. 세션 관리와 관련된 문제점

일반적으로 세션은 컴퓨터 시스템의 관리자(또는 OS 또는 서버)가 자신의 자산을 이용하는 것을 허락한 사용자 (컴퓨팅)를 인식한 일정한 기간을 가리키는 것으로 광범위하게 이해될 수 있다. 따라서, 세션 동안에 사용자는 시스템으로부터 허락된 범위 안에서 응용 프로그램, 설정값, 자원을 사용할 수 있게 되지만, 이러한 인스턴스는 여전히 세션 관리자인 컴퓨터 시스템의 감독하에 관리되어야 한다.[9]

이러한 세션은 일반적으로 로그인 방식을 통해 컴퓨터와 사용자 간에 성사되고 유지된다.

이로써 세션은 특정 사용자를 다른 사용자로부터 보호하거나, 예기치 않은 로그아웃으로부터 특정 사용자의 이전 기록 복원이 가능하게 된다.

4. 2. 세션 관리 개선 방향

일반적으로 세션은 컴퓨터 시스템의 관리자(또는 OS 또는 서버)가 자신의 자산을 이용하는 것을 허락한 사용자 (컴퓨팅)를 인식한 일정한 기간을 가리키는 것으로 광범위하게 이해될 수 있다. 따라서 세션 동안에 사용자는 시스템으로부터 허락된 범위 안에서 응용 프로그램, 설정값, 자원을 사용할 수 있게 되지만, 이러한 인스턴스는 여전히 세션 관리자인 컴퓨터 시스템의 감독 하에 관리되어야 한다.[9]

이러한 세션은 일반적으로 로그인 방식을 통해 컴퓨터와 사용자 간에 성사되고 유지된다.

이로써 세션은 특정 사용자를 다른 사용자로부터 보호하거나, 예기치 않은 로그아웃으로부터 특정 사용자의 이전 기록 복원이 가능하게 된다.

참조

[1] 특허 Sessionless-oriented protocol and session-oriented protocol http://www.freepaten[...]
[2] 간행물 InterCarrier Messaging Guidelines http://files.ctia.or[...] CTIA 2018-06-02
[3] 뉴스 Hppy bthdy txt! http://news.bbc.co.u[...] BBC News World Edition 2002-12-03
[4] 문서 Services and Facilities to be provided in the GSM System GSM 1985-06
[5] 간행물 CTIA InterCarrier Messaging Guidelines, Version 1.0 http://files.ctia.or[...] CTIA
[6] 문서 Hppy bthdy txt!
[7] 문서 Services and Facilities to be provided in the GSM System GSM 1985-06
[8] 특허 Sessionless-oriented protocol and session-oriented protocol http://www.freepaten[...]
[9] 웹사이트 https://docs.oracle.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com