桂林网站开发,怎样开网店详细教程,国外做论坛网站,南宁设计网站Cookiecookie 是一个非常具体的东西#xff0c;指的就是浏览器里面能永久存储的一种数据#xff0c;仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成#xff0c;发送给浏览器#xff0c;浏览器把cookie以kv形式保存到某个目录下的文本文件内#xff0c;下一次请求… Cookiecookie 是一个非常具体的东西指的就是浏览器里面能永久存储的一种数据仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成发送给浏览器浏览器把cookie以kv形式保存到某个目录下的文本文件内下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的所以浏览器加入了一些限制确保cookie不会被恶意使用同时不会占据太多磁盘空间所以每个域的cookie数量是有限的。Sessionsession 从字面上讲就是会话。这个就类似于你和一个人交谈你怎么知道当前和你交谈的是张三而不是李四呢对方肯定有某种特征长相等表明他就是张三。session 也是类似的道理服务器要知道当前发请求给自己的是谁。为了做这种区分服务器就要给每个客户端分配不同的“身份标识”然后客户端每次向服务器发请求的时候都带上这个“身份标识”服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”可以有很多种方式对于浏览器客户端大家都默认采用 cookie 的方式。服务器使用session把用户的信息临时保存在了服务器上用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全可是session有一个缺陷如果web服务器做了负载均衡那么下一个操作请求到了另一台服务器的时候session会丢失。TokenToken的引入Token是在客户端频繁向服务端请求数据服务端频繁的去数据库查询用户名和密码并进行对比判断用户名和密码正确与否并作出相应提示在这样的背景下Token便应运而生。Token的定义Token是服务端生成的一串字符串以作客户端进行请求的一个令牌当第一次登录后服务器生成一个Token便将此Token返回给客户端以后客户端只需带上这个Token前来请求数据即可无需再次带上用户名和密码。最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名由token的前几位盐以哈希算法压缩成一定长的十六进制字符串可以防止恶意第三方拼接token请求服务器)。 传统身份验证HTTP 是一种没有状态的协议也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端客户端使用用户名还有密码通过了身份验证不过下回这个客户端再发送请求时候还得再验证一下。解决的方法就是当用户请求登录的时候如果没有问题我们在服务端生成一条记录这个记录里可以说明一下登录的用户是谁然后把这条记录的 ID 号发送给客户端客户端收到以后把这个 ID 号存储在 Cookie 里下次这个用户再向服务端发送请求的时候可以带着这个 Cookie 这样服务端会验证一个这个 Cookie 里的信息看看能不能在服务端这里找到对应的记录如果可以说明用户已经通过了身份验证就把用户请求的数据返回给客户端。上面说的就是 Session我们需要在服务端存储为登录的用户生成的 Session 这些 Session 可能会存储在内存磁盘或者数据库里。我们可能需要在服务端定期的去清理过期的 Session 。基于 Token 的身份验证使用基于 Token 的身份验证方法在服务端不需要存储用户的登录记录。大概的流程是这样的客户端使用用户名跟密码请求登录服务端收到请求去验证用户名与密码验证成功后服务端会签发一个 Token再把这个 Token 发送给客户端客户端收到 Token 以后可以把它存储起来比如放在 Cookie 里或者 Local Storage 里客户端每次向服务端请求资源的时候需要带着服务端签发的 Token服务端收到请求然后去验证客户端请求里面带着的 Token如果验证成功就向客户端返回请求的数据