gpt4 book ai didi

REST 和 HttpSession 对象

转载 作者:行者123 更新时间:2023-12-04 18:24:00 25 4
gpt4 key购买 nike

我知道 REST 不应该使用 HttpSession .
另一方面,REST 服务在 servlet 容器中运行。
据我所见,HttpSession只有在以下情况下才会创建对象:

HttpSession session = request.getSession(); 

代码被执行。总是这样吗?除了使用JSP?

我的问题是:将是 HttpSession执行 REST 方法时是否创建对象?

假设我使用 JAX-RS 框架,如果它可以有所作为的话。
如果未创建此类对象,则实际上可能意味着服务器内存的大小可能不会增长,无论有多少客户端使用服务器。

最佳答案

HTTP session 实际上经常与 REST 接口(interface)一起使用,但绝不应该包含任何真正关键的内容。因此,它们可用于包含您已通过身份验证的事实或某些列表的首选默认顺序是什么;在前一种情况下,您还可以同时支持其他身份验证机制,允许完全无状态操作,在后一种情况下,您还可以轻松支持显式覆盖。只要您不需要 session ——好吧,假设您的站点使用 HTTP BASIC 身份验证是为了争论;如果您使用的是 OAuth,那么您需要启用 session 以防止性能受损——那么您仍然可能相当接近 RESTful(在这个领域肯定;REST 不是“不使用 session ”毕竟)。

是否担心 session 在超时之前持续多长时间?好吧,也许但不是真的。 session 实际上是您已映射到某个数据库表中的对象,您可以对它们配置到期策略,以便它们持续足够长的时间以支持有效使用而不会过度繁琐。这取决于有多少客户同时使用该站点,他们的使用模式是什么,以及您有哪些可用的硬件资源(当然)。

关于REST 和 HttpSession 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com