HTTP协议的特点cookie和session

HTTP协议的特点:

  • 无状态:是指协议对于事物处理没有记忆功能,也就是说,对于服务端来讲,他不关心客户端是谁,他只关心请求,请求来了服务端就响应,响应完了谁也不认识谁,这种特性严重阻碍了需要客户端与服务端进行动态交互的web应用程序的实现,所以呢,cookie和session这种用户保持HTTP连接状态的技术就应运而生了,就是为了解决这个缺陷的。

  • cookie:通过客户端来保持状态的解决方案(供服务端存储数据)

    • 以域名的形式进行区分

    • 具体时效性,过期之后会被浏览器自动删除,如果你不设置过期时间,那么默认情况下会在关闭浏览器时删除

    • 特别要注意:在发送请求的时候会自动携带到请求头中一并发送给服务端

    • 交互流程:客户端请求服务端(携带请求数据) ==> 服务端响应客户端(在响应头中携带需要被客户端保存的cookie数据) ==> 客户端接收服务端响应(保存cookie数据,存盘,磁盘中) ==> 客户端再次发送请求的时候(自动在请求头中携带已有的cookie数据) ==> 服务端接收客户端请求(从请求头中获取cookie数据),后面的流程同上。。。

  • session:通过服务端来保持状态的解决方案(供客户端存储数据)

    • 是服务端为客户端开辟的存储空间,在其中保存数据

    • 也有时效性,服务端重启时会失效

    • 很重的一点,他是基于cookie来实现的,会将生成的sessionId以cookie的形式保存在客户端中

    • 交互流程:客户端请求服务端(携带请求数据) ==> 服务端接收请求(给你开辟一个存储空间,用来保存你的数据,实际上就是创建session,并为之生成一个唯一的id,也就是sessionId) ==> 服务端响应客户端(在响应头中携带包含sessionId的cookie数据) ==> 客户端接收响应(从响应头中获取cookie数据,并存盘) ==> 该客户端再次发送请求的时候(会自动在请求头中携带cookie数据,其中就包含了sessionId) ==> 服务端再次接收请求的时候(从请求头的cookie中获取sessionId,然后根据sessionId获取对应的session,也就是存储空间,从而获取其中保存的数据)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值