源码分析相关面试题
Activity相关面试题
与XMPP相关面试题
与性能优化相关面试题
与登录相关面试题
与开发相关面试题
与人事相关面试题
今天文章比较简单,主要是为了录制面试题系列,保证文章的完整性来帮助那些想找工作的哥们,各位高级程序员请勿拍砖,不过把下面三段视频都看完,多多少少会有些收获。。。
本文配套视频:
在android开发中,用户登录时,客户端会接收到token值,请描述一下对token的理解?
Token的引入:
Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
Token的定义:
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
使用Token的目的: Token的目的是为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
Token的应用:
- 当用户首次登录成功之后, 服务器端就会生成一个 token 值,这个值,会在服务器保存token值(保存在数据库中),再将这个token值返回给客户端
- 客户端拿到 token 值之后,使用sp进行保存
- 以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器
- 服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值做对比
- 如果两个 token 值相同, 说明用户登录成功过!当前用户处于登录状态
- 如果没有这个 token 值, 没有登录成功
- 如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录
使用一分钟利用开源中国接口获取登录token
利用一分钟时间解析服务器返回的token数据
懒得写文字了,直接看视频吧,看完会有不小的收获哦
登录和注销 (Cookie, Session)
登陆过程
- 先把用户名和密码传给服务器(请求头中没有Cookie)
- 服务器验证用户名和密码
- 验证通过->响应头中返回(Cookies)一个或多个key=value;key1=value1
- 客户端保存这些Cookies到本地文件.
请求数据过程
- 如果没有Cookie, 只能获取到公共信息.
- 把Cookie放到请求头中, 可以获取到Cookie对应的账号的隐私数据.
- 如果Cookie超时了(一小时, 一周, 一个月), 服务器同样不返回隐私数据.
注销过程
- 删除本地的Cookie
- 以后的请求头中都没有Cookie
- 服务器不会再知道客户端是谁, 会话结束.
- 欢迎关注微信公众号,长期推荐技术文章和技术视频
微信公众号名称:Android干货程序员
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .