cookie和session的介绍以及区别

1.什么是cookie?

Cookie 是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web服务器保存在用户浏览器(客户端)上的小文本文件(内容通常经过加密),它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie 信息,可以看作是浏览器缓存。

2.什么是session?

Session的定义很抽象,在不同的场合中session一词的含义也很不相同.它可以代表服务器与浏览器的一次会话过程,指从一个浏览器窗口打开到关闭的这个期间.也可以用于指一类用来在客户端与服务器之间保持状态的解决方案。

3.session和cookie的共同点

(1)两者都是存储会话的共享数据

4.session和cookie的不同点

(1)存储位置不同,session存储的是服务端的会话共享数据;cookie存储的是客户端(浏览器)的会话共享数据

(2)存储容量不同,单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie;对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制。

(3)存储方式不同,cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据;session中能够存储任何类型的数据,包括且不限于string,integer,list,map等。

(4)隐私策略不同,cookie对客户端是可见的,别有用心的人可以分析存放在本地的cookie并进行cookie欺骗,所以它是不安全的;session存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险

(5)有效期上不同,开发可以通过设置cookie的属性,达到使cookie长期有效的效果;session依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session不能达到长期有效的效果。

(6)服务器压力不同,cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie是很好的选择;session是保管在服务器端的,每个用户都会产生一个session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴名氏.

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值