既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
用户第一次请求服务器的时候,服务器根据用户提交的相关信息,创建对应的 session
服务器响应客户端的请求,并返回唯一标识信息 sessionid 给浏览器
浏览器把返回的 sessionid 存储到 cookie 中,同时 cookie 记录次 sessionid 属于哪个域名
当用户第二次访问服务器的时候,请求自动判断此域名下是否存在 cookie 信息,如果存在就将 cookie 信息发送给服务端,服务端会从 cookie 中获取 sessionid,再根据 sessionid 查找对应的 session 信息,如果找到 session 证明用户已经登录,可以执行后面操作,如果没有找到,说明用户没有登录或者失败。
cookie 和 session 的区别
安全性:session 比 cookie 安全,session 是存储在服务器端,cookie 是存储在客户端
存储值的类型不同:cookie 只支持存字符串数据,设置为其它类型的数据,需要将其转换成字符串,session 可以存任意数据类型。
有效期不同:cookie 可设置为长时间保持,session 的失效时间比较短,客户端关闭就会失效
存储大小不同:单个 cookie 保持的数据不能超过 4KB,Session 存储数据高于 cookie,当访问量过多,会占用更多的服务器资源。
什么是 Token(令牌)
访问接口(API)时所需要的资源凭证,比如订单接口需要带上登录返回的 token 值,才能访问订单接口数据
常见的 token 组成:UID(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token+ 请求数据进行几次 md5 之后的值)
token 的特点:
服务端无状态化、可扩展性好
支持移动端设备
安全性好
支持跨程序调用
token 的身份验证流程:
①、客户端使用用户名和密码,请求登录
②、服务端收到请求,验证用户名和密码
③、验证成功之后,服务端返回一个 token,并把这个 token 发送给客户端
④、客户端收到 token 之后,会把它存储起来,放入 cookie 里面
⑤、客户端每次想服务器请求资源的时候,都需要带着这个 token
⑥、服务端收到请求的时候,验证客户端请求里面带着的 token,如果验证成功,就向客户端返回请求的数据
每一次请求都需要携带 token,需要把 token 放到 HTTP 的请求头里面
基于 token 的用户认证,服务端不用存放 token 数据。
Token 和 session 的区别
Session 是一种记录服务器和客户端会话状态的机制,使服务端有状态化,可以记录会话信息。
token 是一种令牌,访问接口(API)时需要的凭证,也像古代进入到城里需要腰牌一样。token 使服务器无状态化,不会存储会话信息。
token 的安全性要好于 session,每次请求都有签名,也就会出现每次的 token 都会变化,也可以防止一定的攻击、
什么是 JWT
JSON Web Token(简称 JWT)是目前最流行的跨越认证解决方案。
是一种认证授权机制
JMT 是在网络应用环境之间传递声明,而执行的一种基于 JSON 的开发标准
JWT 的认证流程:
客户端将 token 保存到本地(通常使用 localstorge)
当用户访问一个受保护的路由或者资源的时候,需要请求头的 Authorization 字段中使用 Bearer 模式添加 JWT
服务端的保护路由将会检查请求头 Authorization 中的 JWT 信息,如果合法,则允许用户的行为
JWT 内部保护了一些会话信息,减少了需要查询数据库的需要
JWT 并不使用 cookie,可以使用任何域名提供你的 API 服务,不需要担心跨域的问题
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**