【问题标题】:Should an API server be stateless for an Android app?对于 Android 应用,API 服务器应该是无状态的吗?
【发布时间】:2021-01-02 19:02:39
【问题描述】:

我正在创建一个餐厅评论应用。将有一个 Spring Boot API 服务器作为它的后端。 我可以轻松地将 Spring Security 中的无状态属性设置为:

http.sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS);

现在最好的做法是什么?它应该是有状态的还是无状态的?

如果它应该是无状态的,那么每个 http api 调用都需要重新验证,对吗? (我的意思是应用需要发送用户名和密码)。

谢谢。

【问题讨论】:

    标签: spring-boot spring-security spring-session stateless stateful


    【解决方案1】:

    使 API 调用无状态有很多优点:

    • 由于 Web 服务不需要维护客户端之前的交互,因此无状态可降低 REST API 的复杂性
    • 无状态 API 也很容易缓存
    • 通过将 API 部署到多台服务器,无状态有助于将 API 扩展到数百万并发用户
    • Web 服务可以独立处理每个方法请求

    无状态 API 调用的缺点是 Web 服务需要在每个请求中获取额外的信息,然后进行解释以获取客户端的状态。

    客户端可以使用tokens来调用这些API,这些API会随每个请求一起发送。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-04
      • 2012-12-23
      • 2010-10-07
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 2021-12-30
      相关资源
      最近更新 更多