cookie与session

本文深入探讨了Web应用程序中Session和Cookie的作用及区别。Session和Cookie都是解决HTTP协议无状态特性的机制,但它们分别存储在服务器端和客户端。文章详细解释了Cookie的存储方式和Session的工作原理,并讨论了当Cookie被禁用时的解决方案。

1.场景
Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。而Session和Cookie就是为解决这个问题而提出来的两个机制
2.cookie
Cookies是服务器在本地机器上(客户端硬盘,设置了过期时间;或浏览器内存中,临时的)存储的小段文本并随每一个请求发送至同一服务器,是在客户端保持状态的方案。这个文本对用户来说,是透明的,你可以通过浏览器工具来查看当前的cookie,可能不止一个。
3.Session
是服务器端使用的一种记录客户端状态的机制
浏览器发起一个请求到服务器,服务器首先检查客户端的请求是否包含会话标识符session id。如果包含它,它先前已为此客户端创建了一个会话。服务器根据session id检索会话,如果客户端请求不包含session id,则为客户端创建会话并生成与会话关联的session id。 session id应该是一个既不重复也不容易被复制的字符串。会话ID将返回给客户端以保存此响应。
4.区别

  1. cookie存放在客户端,不安全;session存放在服务器端,增加了服务器的存储压力。

  2. cookie只能存放4k的数据,而session理论上没有做限制。

5.cookie 被禁用了怎么办?
URL地址重写将该用户Session的id信息重写 到URL地址中。服务器能够解析重写后的URL获取Session的id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值