cookie,session,token解析

第一部分.cookie和session

目标:跟踪会话产生原因:HTTP协议是无状态协议,在数据交换完成后连接就会断开,再次进行数据交换就会再次产生连接,举个例子,小明请求结算购物车的时候,从新产生连接服务器无法判断是谁发起的操作,而session和cookie就可以解决这个问题,相当于颁发了一个身份证明能证明你就是你而不是别人区别
1.cookie存储于客户端,session存储于服务端
2.cookie保存的是字符串,session中保存的是对象
3.存储时间的不同补充
cookie可以携带用户的信息存储在浏览器中,如果发起请求的时候携带cookie,这样服务器就可以判断用户是谁,但显然携带数据是不安全的,当然cookie可以存储某些数据

session是比cookie更安全的方式,数据存储在服务器中,举个例子,本地存储的是你的身份证明的编号(sessionID),你的身份证明(session中存储的数据)在服务器中,想要查看你的身份证明的数据就要携带你的身份证明的编号,通常sessionID通过特殊的cookie的方式存储在浏览器中,当cookie无法使用的时候可能会携带在url中

一.cookie

cookie的创建流程图:


cookie的工作原理:
1.浏览器向服务器端请求数据
2.服务器创建cookie,这个cookie中携带用户的信息,然后将这个cookie返回到浏览器,最终以小块文本的方式存储在计算机本地
3.再次发起请求的时候携带浏览器存储cookie,服务器根据cookie中携带的数据来区分不同的用户
cookie应用场景:
网站勾选记住用户名密码
网站的个性设置
历史记录

二.session

session的创建流程图:
默认考虑不禁用cookie的情况


session的工作原理:
1.浏览器向服务器发送请求
2.服务器创建session,并且返回一个cookie到浏览器,这个cookie中携带JSESSIONID里面有这个session的ID
3.再次发起请求,携带session的id,服务器获取到session中的对象
session应用场景:
验证登陆信息
判断用户权限

第二部分.cookie,session与token

一.为什么产生token

1.单纯cookie的话本地存储大,不安全
2.session存储的话发起请求存储信息,对服务器内存要求过高
3.跨域问题
4.不可扩展
在大规模中,不同的服务器集群构成服务端,在面对负载均衡时,不同的服务器之间session不通,需要复制过来穿过来传过去,浪费时间和空间如下图所示


那么为了解决这个问题,就产生了token。

二.关于token

token的创建流程图:


token构成:
uid(用户的身份标识),time(当前时间戳),sign(签名)
token的工作原理:
1.浏览器向服务器发送请求
2.服务器产生一个token,这个token中包含标示,密钥等,确保安全性,返回给浏览器,存储在cookie或者某些地方
3.再次发起请求,在header中携带token发送请求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值