1.session,cookie是什么以及两者之间的联系和区别

cookie(实际上是一小段文本信息):
实际上是一小段文本信息客户端发送请求,服务器记录用户状态并使用response向客户端发送一个cookie。客户端会把cookie保存起来。当浏览器再请求该网站时,浏览器会把请求的网址连同该cookie一同提交给服务器。服务器检查该cookie以此辨认用户状态。
若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在浏览器的不同进程间共享。这种称为持久cookie。
cookie具有不可跨域名性(浏览器访问淘宝不会带上京东的cookie)
Session(一种记录客户状态的机制):
客户端访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。每个用户访问服务器都会建立一个session,用户与服务器建立连接的同时,服务器会自动为其分配一个session id。当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了session id,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id(值不会重复,不容易被找到规律仿造的字符串),这个session id在本次响应中会返回给客户端保存。当客户端禁用cookie,可以通过url重写(session id直接附加在url路径后面)或者服务器自动修改表单,给表单添加隐藏字段(type = “hidden”)。用户验证这种场合一般使用session 因此,维持一个会话的核心就是客户端的唯一标识,即session id。

区别和联系:
1 , cookie数据存放在客户的浏览器上,session数据放在服务器(浏览器)上。区别

2 ,session 可以放在 文件、数据库、或内存中都可以,cookie保存在内存里。区别

3,session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效 联系

4 , cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。 区别

5 , session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。区别

6 , 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 区别

7 , session用来存放重要信息,其他信息如果需要保留可放在cookie中。 区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值