Cookie,Session,Token
目录
Cookie
Cookie是一个保存在客户端中的简单的文本文件,用于网站识别用户和跟踪会话,简单来讲就是用来缓存数据的。
跟踪会话
Cookie可以跟踪用户的会话状态,例如登录网站时,服务器会生成用于标识用户身份的Cookie,浏览器会将这个Cookie保存下来。后续用户的访问会携带Cookie,作为身份验证的凭证。
记录偏好
网站可以利用Cookie来记录用户的设置偏好,例如主题、字体和布局等设置。用户再次访问网站时,可以通过个性化设置提供更好的体验。
跟踪行为
通过分析Cookie中的记录,网站可以了解到用户的行为,例如页面的浏览、链接的点击等。跟踪用户行为有利于网站的优化,以及用户个性化推荐。
存储信息
在一些购物网站上,Cookie可以用来存储用户的购物车信息。用户浏览不同的商品页面时,能达到购物车信息保持一致的目的。
推荐广告
从Cookie中分析出用户的兴趣和行为,网站能更方便地投放出相关的广告。
Cookie通常是匿名的(经过加密),不会直接存储用户的身份信息。但是如果遭到滥用或者是受到黑客攻击,Cookie可能会对用户的隐私造成威胁。因此浏览器中会提供对Cookie的相关设置,用户可以对特定网站的Cookie进行限制和禁用。
Session
Session在计算机网络应用中被称为“会话控制”,用于存储用户保持会话所需要的信息。
特点
1. Session保存在服务端
2. Session通常与Cookie配合使用,如果Cookie被浏览器禁用,必须通过URL重写来实现Session存储的功能
3. Session用来保持会话在同时登录的用户过多的时候,可能会导致网站访问速度变慢
URL重写:
如果浏览器不支持Cookie或用户阻止了所有Cookie,可以把会话ID附加在HTML页面中所有的URL上,这些页面作为响应发送给客户。这样,当用户单击URL时,会话ID被自动作为请求行的一部分而不是作为头行发送回服务器。
作用
由于HTTP协议的无状态性,?服务端无法得知发起请求的用户状态,也就是用户的身份信息,所以使用Session来标识用户状态。
原理
当服务器创建完Session对象后,会把Session对象的id以Cookie形式返回给客户端。这样当用户保持当前浏览器的情况下再去访问服务器时,浏览器会把Session对象的id传给服务器,服务器会根据Session对象的id来为用户提供相应的服务。
Token
Token是令牌的意思,令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。服务器在成功验证Token令牌的合法性后,才会接受请求并做出响应。Token携带在请求头中,除了一些特殊的请求(例如登录请求),其他请求必须要携带Token用来验证身份。
特点
1. 由服务端生成,存储在客户端
2. 难以伪造,安全性高
3. 支持移动端设备和跨进程调用
跨进程调用是指在不同进程之间进行方法的调用。
作用
验证用户身份,只有验证通过后服务器才会接受请求。与Session相比,Token是用时间换空间,减轻服务端压力。
原理
客户端携带用户信息发起登录请求,登录成功后服务端生成Token令牌并返回给客户端。后续的请求客户端必须携带令牌来验证用户身份的合法性,否则服务端一律拒绝接受请求。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!