session cookie 的区别(草稿)

阅读前提:HTTP 是一个无状态协议,所以客户端每次发出请求时,下一次请求无法得知上一次请求所包含的状态数据。

在九几年时候的还没有成熟的互联网,浏览器只能查看文件,连图片都看不了,功能非常简单。为了把服务器的更多信息发到客户端,兴起了http,但是客户端每次访问都是全新的请求,服务端不存。

后来零几年随着交互式网站比如在线购物网站的兴起,需要记住浏览器一个用户的多个动作,就是会话(session),比如登录网站、加到购物车,购买、退出。那就在请求的时候拼上用户的唯一ID吧,所以就把 session id 拼到了访问路径,类似这样:“XXX?sessionid=123456”。

每次访问的session信息都是不同的,网站一火起来,服务端就炸了。海量数据还无法记录一个用户多次登录的购买历史,就产生了保存一个用户许多信息的需求,这样一个用户每次登录就会获取到同样信息,浏览器就把这些信息当作cookie,存到浏览器本地里。这样每次交互都把cookie放到请求头里发给服务端。

说到现在,cookie其实就是浏览器存储用户信息的工具。

然而在这些操作里,token在哪呢?有什么用呢?

每次拿到sessionid,都可以对服务的增删改查是不安全的,就有了校验的需求,token是用来做校验,选一个密钥自己知道然后拼成字符串加密一下,请求把token带到服务端时再按照方式解密。

附session、cookie、token内部结构:
登录百度的cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值