一般移动端访问服务器接口,服务器都会设置一个token,对token进行鉴权,鉴权通过就可以继续访问,否则就不通过。
直入主题:
我的实践是不需要特意设置token,通过在请求时添加一个请求头实现。如此有3点好处。一是不用设置token;二是移动端访问服务器接口的生命周期与session的生命周期保存一致,不用担心访问接口是session突然失效,当然你过了session周期,再次访问接口session依旧会失效,只需要替换一个新的session就可以解决问题。这就跟你访问一个网站系统,你登录后一段时间不做任何操作,然后在操作会让你重新退出登陆一样;三是移动端访问服务器接口不会生成新的session会话,一定程度上可以减轻服务器的压力。
接口是自己随便写的,做测试够用了。
直接上代码:
1.首先在浏览器输入自己接口的链接,效果如下:
访问接口后的session为7D08B4DA4CBA4ACC88D41944FBB0C8B7,以服务器session为准。这里用OkHttpClient来请求该接口,接口代码如下图所示:
通过GET方式请求接口,请求需要加上cookie这个请求头,见第一张图红框中内容。
运行后效果如下图所示:
上图没有产生新的session值,说明请求添加cookie请求头生效了。客户端效果如下:
此图时间与上图时间一致。
注释客户端添加请求头的代码,效果如下图:
运行后,服务器会新生成session,与上一次请求没有在一个session中,效果如下图所示:
客户端效果如下图所示:
此图时间与上图一致。
基于以上的测试结果,我觉得移动端访问服务器接口,不需要设置token,只需要加入相应的请求头就可以实现在pc上访问网站系统一样的效果。
这只是我的一种见解,欢迎交流。
来源:CSDN
作者:daidaiwostudy
链接:https://blog.csdn.net/daidaiwostudy/article/details/104655182