了解Session与Cookie

Session

  • 定义:存在服务器用来存放用户数据的类HashTable结构。
  • 生命周期:一般情况下,服务器会在一定时间内(默认30分钟)保存这个 Session,过了时间限制,就会销毁这个Session。
  • Session机制:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

工作原理图例:
在这里插入图片描述

Cookie

  • 定义:访问网站后在本地存储的相关网站信息,是服务器再本地机器上存储的文本,并随着每一个请求发送到同一服务器上,是客户端保存状态的一种方式。
  • 生命周期:表示当前cookie的生命周期为浏览器会话期间,关闭浏览器则cookie消失。
  • cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。
  • Cookie机制:正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。
  • 应用场景:
  1. 判断用户是否登陆过网站,以便下次登录时能够直接登录。如果我们删除cookie,则每次登录必须从新填写登录的相关信息。
  2. “购物车”中类的处理和设计。用户可能在一段时间内在同一家网站的不同页面选择不同的商品,可以将这些信息都写入cookie,在最后付款时从cookie中提取这些信息,当然这里面有了安全和性能问题需要我们考虑了。

工作原理图例:
在这里插入图片描述
参考链接:
https://blog.csdn.net/duan1078774504/article/details/51912868

二者区别

  • cookie数据存放在客户的浏览器上, session数据存放在服务器上。
  • cookie不安全,他人可分析存放本地的cookie并进行修改。考虑到安全问题则应选择session。
  • session会在一定时间内保存在服务器上,访问增多时,会占用服务器的性能,如考虑减轻服务器性能方面,应选择cookie。
  • 单个cookie保存的数据不得超过4K,多数浏览器限制一个站点最多保存20个cookie
  • session中保存的是对象,cookie中保存的是字符串

形象描述

  • Session类似于购物时给客户一个积分卡,商家这边(服务端)记录客户持有的会员卡卡号,客户每购买一次东西,只需要报卡号即可获得积分,哪个顾客有多少积分这些信息保存在商家那里(服务端),这也解释了Session安全性比较高的原因
  • Cookie类似于商家给顾客(客户端)发放优惠券,优惠券上记录了优惠的力度、过期时间等信息,客户拿着优惠券到商家那里购物即可获得相关优惠。

参考链接:
https://zhidao.baidu.com/question/536760871.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值