cookie,session和token详解和区别

目录

前言

1.cookie和session是为了解决什么问题产生的?

2.什么是会话技术?

3.cookie详解

Cookie的表示

Cookie的组成

Cookie的HTTP传输

Cookie的生命周期

cookie执行流程

4.session

session机制,原理

session持久化

其它

session执行流程

5.cookie/session的区别与联系

6.session和token有什么区别?


前言

HTTP协议的无连接,无状态的,这两种状态都存在一定的缺点,无连接可以使用koop-alive解决,那么无状态服务怎么解决呢?

1.cookie和session是为了解决什么问题产生的?

首先我们知道因为HTTP是无连接的,当请求结束连接就会中断所以会产生身份识别的问题。

因此诞生了cookie甚至于在localStorage出现之前浏览器存储功能都是依靠cookie来完成的

但是它的原理简单到爆,一句话就是当浏览器访问服务器时,服务器会向浏览器发送一个cookie

可以理解为标识符,下次浏览器再向服务器发送请求时在上行报文中携带这个标识符(cookie)

服务器就能够根据标识符做出识别,当服务器在下行报文中设置cookie的持续时间

 所以cookie就是一个浏览器跟服务器通讯的信物,如果是中国人发明可能就是黑话,这个基础是建立在HTTP无连接

那么有了cookie,为什么还要有session呢?有了cookie可以向服务器证明用户身份了,我们的web系统中是不是需要将用户的详细信息储存在某个位置供页面调用呢?用户的详细信息就包括姓名,年龄,性别等信息。而cookie是存在于客户端的,将用户详细信息通过网络发送到客户端保存是极不安全的。且cookie大小不能超过4k,不能支持中文。这就限制cookie不能满足存储用户信息的需求。这就需要一种机制在服务器端的某个域中存储一些数据,这个域就是session。

总而言之,cookie/session的出现就是为了解决http协议无状态的弊端,为了让客户端和服务端建立长久联系而出现的。

2.什么是会话技术?

帮你存储一些在交互过程临时产生的数据

当你打开浏览器,访问一个网站,认为会话开始了,当你关闭浏览器的时候,会话结束了

接下来先详细介绍cookie,session和token,当你充分了解他们之后,就会发现他们的区别

3.cookie详解

Cookie的表示

一般情况下,cookie是以键值对进行表示的(key-value),例如name=jack,这个就表示cookie的名字是name,cookie携带的值是jack。

Cookie的组成

下面我自己写了一个简易Servlet来设置cookie,我们游览器抓包进行查看。然后进行分析

</

  • 15
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值