cookie,session和token详解
文章目录
前言
目前网络上进行用户验证的方法主要有三种:cookie,session,token,他们之间存在相似也有各自的优缺点,本文将着重强调。
一、cookie
1.1 cookie简介
cookie是浏览器存储在本地的文件,主要用于存储服务器对用户进行的标记,大小有限一般只为4kb,用户在第一次进行服务器请求时,服务器会生成对应的id,然后发送给客户端,客户端就会存储在本地文件中。
图片:
1.2 cookie作用
cookie作为存储服务器发送给客户端的id常常用来确定用户的身份,并且在发送请求时往往会携带cookie中的标识,并且由于cookie存储在客户端,因此它的保存时间较长,并且很稳定(往往是处于封闭状态,防止其他人恶意使用)。
二、session
2.1 session简介
每一位开发者对于session应该都很熟悉,session在web开发中是作为四大域对象之一,它是由服务器创建,并且存储在服务器中,用户存储用户的对应信息,很多人认为ssession的作用范围是浏览器开始运行时,等到浏览器关闭时就自动销毁,其实不全对,session在两种情况下会自动销毁,1、客户端关闭浏览器程序,造成了JSESSIONID凭证丢失
2、session超时(会话超时):a、客户端关闭后,一段时间内没有访问过该session内存,服务器会清理。b、或者一段时间内没有访问过该session内存,服务器会清理。c、回话超时的时间,默认是30分钟,只要发起请求,会话时间从0重新计算。
用户访问session是通过cookie中存储的id信息进行访问的,一次会话中session的id会存储在cookie中,每次用户对客户端进行请求发送都会携带对应的信息,然后找到对应的session对象进行访问。
图片:
2.2 session作用
session常用于进行数据存储,比如用户的各种信息,购物车信息啥的,这就是为什么人们在一段时间内可以直接登录各大网站。
三、token
3.1 token简介
token常被人称为令牌,它主要是为了解决服务器的ssession的id存储量过大而产生的,存储在服务器端,客户端发送请求都会携带token,然后服务器可以token进行解码操作,判断该用户是不是已经登录或者注册了网站。
3.2 token作用
如上所说,因为session存储在服务器,所以如果ssession值比较多,那么对于服务器来讲是一个很大的负担,故token出现了,故它的作用就是减轻服务器的负担,让服务器不必存储大量的id值。
图片: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hVjig3GZ-1667465088728)(
四、区别和联系
session是存储在服务器端,但是cookie和token存储在客户端。
2.客户端发送session和token都要借助cookie。
3.token可以减轻session存储量
来源地址:https://blog.csdn.net/qq_54850598/article/details/127672246
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341