Cookie,Session,Token

目录

跟踪会话

记录偏好

跟踪行为

存储信息

推荐广告

Session

特点

作用

原理

Token

特点

作用

原理


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令牌并返回给客户端。后续的请求客户端必须携带令牌来验证用户身份的合法性,否则服务端一律拒绝接受请求。

你可能感兴趣的:(基本概念,cookie,session,token)