服务器中的会话支持通常使用对象存储构建。一个简单的对象存储将是一个 Map 或一个 Set。此存储中的对象(在 Map 的情况下为值)与逻辑会话的概念具有一对一的映射关系,即对于服务器创建的每个会话,存储中都会有一个项目。
由商店管理的会话可以允许属性与它们相关联。此类属性的列表可能事先不知道,因此您需要另一张地图来实现此目的;键是属性名称,值是属性值。
就会话存储的管理而言,当对您的服务器进行 API 调用时,您需要在存储中创建一个新的会话。简而言之,如果 Web 应用程序决定它需要创建会话,则服务器的 API 必须提供必要的接口来执行此操作。单独创建会话对象是不够的;首次创建会话时,您还需要将会话 ID 作为 cookie 写出。API 必须允许在这种情况下编写适当的响应。您可能想查看 Servlet API,特别是 HttpServletRequest 和 HttpSession 类,以及用于此目的的 servlet 容器实现。
关于从请求中访问 cookie 的主题,您需要解析传入的 HTTP 请求标头以检查浏览器发送的任何 cookie。浏览器和其他 HTTP 客户端Set-Cookie
应为此目的使用请求标头。您需要确保只有在请求中提供了有效的 cookie 时,才能将会话对象返回给 Web 应用程序。