cookie和session的比较

会话:当用户打开浏览器的时候,访问不同的资源,直到用户将浏览器关闭,可以认为这是一次会话.

http协议是无状态的协议,一旦数据交换完毕,客户端和服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从连接上跟踪会话.

cookie和session存在的意义就是为了保存http协议客户端/服务器间的部分有用的状态
cookie并没有让http协议变得有状态,而是保留了部分有用的状态

  • cookie:浏览器端会话技术**(cookie数据存放在客户的浏览器上)**

  • session:服务器端会话技术**(session数据存放在服务器上)**;它们两个都可以弥补http无状态的不足

Cookie从何而来?

1、浏览器向服务器发送请求

2、服务器接收请求,生成一个cookie对象保存"标识"数据

3、然后把cookie对象放在响应头,一并发回浏览器

4、浏览器取出cookie对象的数据保存在浏览器的缓存中

5、再次访问时请求头携带cookie数据发送到服务器

6、服务器根据cookie的数据作出相应处理

Cookie的内容是存在浏览器端,默认是浏览器关闭,Cookie的内容就取消。除非设置了Cookie的过期时间session是需要借助cookie才能正常工作的,如果客户端完全禁止cookie,session将失效。Session的生命周期默认是30分钟,但是浏览器关闭后,其Cookie就不存JSESSIONID了,所以浏览器就找不到这个session对象了(通过JSESSIONID查找)。为了浏览器关闭后还能找到上次的session,需要通过设置关于此JSESSIONID的cookie的存活时间来实现。

session在第一次访问服务器时创建,服务器一般把session存放在内存中,每个用户都有一个独立的session,所以session中的信息应该尽量精简;session生成后,只要用户继续访问,服务器就会更新session的最后访问时间

cookie和session的区别

①cookie数据存放在客户端,session数据存放在服务器端

②cookie保存的是字符串,session保存的是对象

③cookie是不安全的,session比较安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值