一、关于Cookie

为什么cookie会出现?

因为Http协议是一种无状态的协议, Web服务器本身不能识别出哪些请求是同一个浏览器发出的也不用记录谁刚刚发了HTTP请求, 每次请求都是全新的、独立的。即便在Http1.1支持了持续连接,但当用户有一段时间没有提交请求时,连接也会自动关闭。
而随着现代交互式网络应用的大量普及,也就带来一个新的问题,即“交互必须是双向的”。可http健忘,客户端和服务器刚说完一句就不认识对方了,这咋交互?
为了解决这一问题,人们就给双方加了个信物。cookie和seesion由此应运而生。

cookie是什么?

简单的说,cookie就是在服务器和客户端第一次见面的时候由服务器做的文本(信物),放在浏览器那,在浏览器发送请求的时候放在消息头上,让http请求顺路捎过去。这样双方就能靠信物想起彼此,从而进行交互。

一个服务器可以给一个浏览器发送多个Cookie, 一个浏览器也可以存储多个服务器提供的Cookie。
但浏览器的空间也有限,所以一般只允许存放300个Cookie, 每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

Cookie的流程

在这里插入图片描述

持久cookie和会话cookie

当然cookie也有它的生命周期,根据需要,分为持久型和会话型。

如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。 这种生命期为浏览器会话期的cookie被称为会话cookie。 会话cookie一般不保存在硬盘上而是保存在内存里,读取方便还能减少io。

如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。
存储在硬盘上的cookie可以在不同的浏览器进程间共享, 比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

后话

既然知道了cookie有它的生命周期,那我们可以接着来看一个问题。如果浏览器只想短期访问一个网站,没有给cookie设置时间,用的是默认的会话cookie。这时,突然天空一道闪电把你家电路给劈炸了,电脑突然黑了,几分钟以后开机再登上网站,发现这个网站又不认识你了,怎么办?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值