携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
1.1 cookie 由来
HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。要跟踪该会话,必须引入一种机制。Cookie就是这样的一种机制 http是一个无状态协议,服务器从网络上无法知道客户身份,因此需要客户端有一个通行证访问的时候带上,这样就知道了客户身份。--->cookie工作原理
1.2cookie是什么
Cookie实际上是一小段的文本信息。 客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。
2.session
2.1 什么是session
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。 Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话, Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。 Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。
2.2Session的有效期
服务器会把长时间内没有活跃的Session从内存删除。这个时间就是Session的超时时间。
如果超过了超时时间没访问过服务器,Session就自动失效了
3.cookie,session区别
Cookie和Session都是会话技术
- cookie 存储在客户端(客户的浏览器上)
session 存储在服务器上
- 单个cookie不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 session没有对存储的数据量的限制,可以保存更为复杂的数据类型 session保存在服务端上会在一段时间内才消失,如果session过多会增加服务器的压力
session很容易失效,用户体验很差; 虽然cookie不安全,但是可以加密 ; cookie也分为永久和暂时存在的; 浏览器 有禁止cookie功能 ,但一般用户都不会设置;
1.一定要设置失效时间,要不然浏览器关闭就消失了;
- 3.Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击
4.使用
记住密码功能就是使用永久cookie写在客户端电脑,下次登录时,自动将cookie信息附加发送给服务端