서버의 세션 지원은 일반적으로 객체 저장소를 사용하여 작성됩니다. 간단한 객체 저장소는 Map 또는 Set입니다. 이 상점의 오브젝트 (맵의 경우 값)는 논리 세션의 개념과 일대일 맵핑을 갖습니다. 즉, 서버가 작성한 각 세션마다 상점에 하나의 항목이 있습니다.
저장소에서 관리하는 세션은 특성이 연결된 세션을 허용 할 수 있습니다. 이러한 속성의 목록은 사전에 알려지지 않았을 수 있으므로이 목적을 위해 다른지도가 필요합니다. 키는 속성 이름이고, 값은 속성 값입니다.
세션 저장소 관리와 관련하여 서버에 API 호출이 이루어지면 저장소에 새 세션을 만들어야합니다. 간단한 말로하면, 웹 애플리케이션이 세션을 생성해야한다고 결정하면, 서버의 API는이를 수행하는 데 필요한 인터페이스를 제공해야합니다. 세션 객체만으로는 충분하지 않습니다. 처음 세션을 만들 때 세션 ID를 쿠키로 써야합니다. 이 경우 API는 적절한 응답을 작성할 수 있어야합니다. Servlet API, 특히 HttpServletRequest 및 HttpSession 클래스와이 목적을위한 서블릿 컨테이너 구현을 살펴볼 수 있습니다.
요청에서 쿠키에 액세스하는 주제에서 들어오는 HTTP 요청 헤더를 구문 분석하여 브라우저에서 보낸 쿠키를 확인해야합니다. 브라우저 및 기타 HTTP 클라이언트는이 목적으로 Set-Cookie
요청 헤더를 사용해야합니다. 요청에 유효한 쿠키가 제공된 경우에만 세션 객체가 웹 응용 프로그램에 반환 될 수 있도록해야합니다.
[ "HttpCore가 아닌 이유"] (http://hc.apache.org/httpcomponents-core-ga/tutorial/html/preface.html#d4e39)를 읽었 으면합니다. 자체 서버는 그렇게하지 않는 한 쿠키를 생성,로드 및 저장하지 않습니다. 개발자가 호출 할 서버용 API를 빌드해야합니다 (예 :). 도움이 필요하면 Tomcat의 기본 작동을 살펴보십시오. –
그럼, 쿠키를 다루는 라이브러리의 방향으로 나를 가리켜 주셔서 감사합니다. –
내 의견을 수정했습니다. 서블릿 컨테이너를 살펴보십시오. 이것이 서블릿 컨테이너의 작동 원리를 파악하는 가장 쉬운 방법입니다. HttpClient를 보지 않으려면 시나리오의 클라이언트 측보기를 제공해야합니다. –