对于 Android 应用程序,API 服务器应该是无状态的吗?
Should an API server be stateless for an Android app?
我正在创建一个餐厅评论应用程序。将有一个 Spring Boot API 服务器作为后端。
我可以轻松地在 Spring 安全性中将无状态 属性 设置为:
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
现在最好的做法是什么?它应该是有状态的还是无状态的?
如果它应该是无状态的,那么每个 http api 调用都需要重新验证,对吗? (我的意思是应用程序需要发送用户名和密码)。
谢谢。
API 调用无状态有很多优点:
- 无状态使 REST API 变得不那么复杂,因为 Web 服务不需要维护客户端之前的交互
- 无状态API也很容易缓存
- 通过将 API 部署到多个服务器,无状态有助于将 API 扩展到数百万并发用户
- Web 服务可以独立处理每个方法请求
无状态 API 调用的缺点是 Web 服务需要在每个请求中获取额外的信息,然后进行解释以获取客户端的状态。
客户端可以使用 tokens 来调用随每个请求一起发送的 API。
我正在创建一个餐厅评论应用程序。将有一个 Spring Boot API 服务器作为后端。 我可以轻松地在 Spring 安全性中将无状态 属性 设置为:
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
现在最好的做法是什么?它应该是有状态的还是无状态的?
如果它应该是无状态的,那么每个 http api 调用都需要重新验证,对吗? (我的意思是应用程序需要发送用户名和密码)。
谢谢。
API 调用无状态有很多优点:
- 无状态使 REST API 变得不那么复杂,因为 Web 服务不需要维护客户端之前的交互
- 无状态API也很容易缓存
- 通过将 API 部署到多个服务器,无状态有助于将 API 扩展到数百万并发用户
- Web 服务可以独立处理每个方法请求
无状态 API 调用的缺点是 Web 服务需要在每个请求中获取额外的信息,然后进行解释以获取客户端的状态。
客户端可以使用 tokens 来调用随每个请求一起发送的 API。