cookie,session以及token的介绍

cookie

是由浏览器维持,存储在客户端的一小段文本信息。用户每次访问站点时,web服务都可以读取cookie中的信息
cookie根据生命周期分为会话cookie和持久cookie。//todo

session

中文翻译为会话。在服务器上保存用户操作的历史信息。服务器会使用类似散列表的结构保存信息,每一个网站客户都会被分配一个唯一的标识符sessionID,它可以通过url传递,或者保存在客户端的cookie中。

服务器为某个客户端请求创建一个session时,会先检查客户端的请求里是否包含sessionID, 如果包含,说明已经创建过session,服务器按照sessionID将session检索出来使用; 如果客户端请求不包含sessionID,则为此服务创建一个session并同时生成一个与此session定向管理的sessionID,在本次的响应中返回给客户端。

一般sessionID存放在cookie中。Cookie和Session通过一个sessionID建立起浏览器和服务器之间的连接。

为什么使用它们

web开发中,http协议是无状态的,可以使用cookie和session确定哪些连接是和该用户相关

session和cookie的区别

1.cookie把数据存储在客户端(网站的客户端是浏览器),session把数据存储在服务器。
2.session数据的安全系数比cookie高。
3.生命周期不同,一般是用临时session,生命周期是随着浏览器关闭而结束,cookie的生命周期是可以设置的,随着设置时间的结束而结束。

总结:

Session和cookie的目的相同,都是为了克服HTTP协议的无状态缺陷,但完成方法不同。Session通过cookie,在客户端保存sessionID,而将用户的其他会话消息保存在服务端的session对象中,与此相对的,cookie需要将所有信息都保存在客户端。因此cookie存在这一定的安全隐患。

什么是token

token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。
当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。
简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。
参考资料:使用cooike还是token?https://www.jianshu.com/p/8c87099f72a5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值