关于cookie和session作用、本质区别的总结

一、实现状态保持的原理

       在户登录一个网站时常常会涉及到用户登录的状态保持,来使得用户获得更好的体验。那么cookie和session就是为了实现状态保持的。整个实现状态保持的流程是这样的:1.用户在登录时向后端服务器发送post请求,服务器接受请求,检验请求参数无误后,处理登录业务逻辑,返回响应。此时服务器端生成对应的cookie字符串,响应到前端浏览器,2.浏览器本地保存cookie值;3.在登录后用户再向服务器发送请求,则带者浏览器本地保存的cookie值,发送给服务器;4.服务器在接受到请求后,获取到请求参数(里面带有cookie),服务器吧获取的cookie值跟之前服务器生成的cookie比较,发现cookie值相同,则默认时同一个用户再访问服务器,从而实现用户登录状态保持。

二、cookie和session的本质区别

  1. cookie和session都是基于键值对的字符串;

  2.俩个都是都由后端服务器生成的;

3.cookie字符串保存在客户端浏览器中,session值保存在服务器中,session比cookie更安全。

4.我个人理解cookie相当于明文,而session类似于密文,是由后端服务器经过编码后的一段无序字符串。

5.既然session是key-value格式的数据,则它的键session_id保存在cookie中的,值session_data保存在服务器,通过key来取到value;

接下来上图,





A:在Web开发中,cookiesessiontoken都用于身份认证保持用户状态,但它们的实现方式具体用途不同。 1. cookie(HTTP cookie):是一种在客户端保存数据的机制,当用户访问网站时,服务器可以把需要保存的数据通过Set-Cookie响应头发送给客户端,浏览器会自动把这些数据保存在本地,之后每次请求时会把这些数据通过Cookie请求头发送给服务器。cookie本质上是一组键值对,可以保存一些用户登录状态、偏好设置等信息。 2. session:与cookie类似,也是一种保持用户状态的机制,但它的实现方式不同。session是在服务器端创建的,客户端通过一个session ID与服务端进行交互,服务端维护着session数据。通常情况下,session ID会保存在cookie或者URL参数中。Session通过在服务器端保存用户登录状态可以提高安全性,因为Cookie可能被第三方截获。 3. token:token是一种在客户端服务端之间传递认证信息的机制,一般是由服务端签发的,包含了一些认证信息有效期等内容。客户端在登录成功后,服务端会返回一个token给客户端,在后续的请求中,客户端需要携带该token才能进行认证。token可以放在请求头、Cookie、URL参数等位置,具有跨域、跨平台等优势。相比于使用session,使用token能够将负载更多地分散到客户端。 总结:cookie是在客户端保存数据、session是在服务器端保存会话状态、token是一种通过客户端服务器之间交互的证明身份机制。而且,它们在功能使用方式上都存在着不同。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值