Cookie和session有什么区别?老男孩高端培训
2018-01-10 02:11:10
huyunyun
  • 访问次数: 29
  • 注册日期: 2017-12-13
  • 最后登录: 2018-01-19
  • 当前积分: 311


CookieSession是两个很容易混淆的知识点,两者都是常用的会话跟踪技术,只不过,Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。除此之外,CookieSession还有以下区别:

1. 存取方式的不同

Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。Cookie中也不能直接存取Java对象。若要存储略微复杂的信息,运用Cookie是比拟艰难的。而Session中能够存取任何类型的数据,包括而不限于StringIntegerListMap等。Session中也能够直接保管Java Bean乃至任何Java类,对象等,运用起来十分便当。能够把Session看做是一个Java容器类。

2. 隐私策略的不同

Cookie存储在客户端阅读器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie中的内容。而Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。假如选用Cookie,比较好的方法是,敏感的信息如账号密码等尽量不要写到Cookie中。最好是像GoogleBaidu那样将Cookie信息加密,提交到服务器后再进行解密,保证Cookie中的信息只要本人能读得懂。而假如选择Session就省事多了,反正是放在服务器上,Session里任何隐私都能够有效的保护。

3. 有效期上的不同

使用过Google的人都晓得,假如登录过Google,则Google的登录信息长期有效。用户不用每次访问都重新登录,Google会持久地记载该用户的登录信息。要到达这种效果,运用Cookie会是比较好的选择。只需要设置Cookie的过期时间属性为一个很大很大的数字。

由于Session依赖于名为JSESSIONIDCookie,而Cookie JSESSIONID的过期时间默许为–1,只需关闭了阅读器该Session就会失效,因而Session不能完成信息永世有效的效果。运用URL地址重写也不能完成。而且假如设置Session的超时时间过长,服务器累计的Session就会越多,越容易招致内存溢出。

4. 服务器压力的不同

Session是保管在服务器端的,每个用户都会产生一个Session。假如并发访问的用户十分多,会产生十分多的Session,耗费大量的内存。因而像GoogleBaiduSina这样并发访问量极高的网站,是不太可能运用Session来追踪客户会话的。而Cookie保管在客户端,不占用服务器资源。假如并发阅读的用户十分多,Cookie是很好的选择。关于GoogleBaiduSina来说,Cookie或许是唯一的选择。

5. 浏览器支持的不同

Cookie是需要客户端浏览器支持的。假如客户端禁用了Cookie,或者不支持Cookie,则会话跟踪会失效。关于WAP上的应用,常规的Cookie就派不上用场了。假如客户端浏览器不支持Cookie,需要运用Session以及URL地址重写。需要注意的是一切的用到Session程序的URL都要进行URL地址重写,否则Session会话跟踪还会失效。关于WAP应用来说,Session+URL地址重写或许是它唯一的选择。

假如客户端支持Cookie,则Cookie既能够设为本浏览器窗口以及子窗口内有效(把过期时间设为–1),也能够设为一切阅读器窗口内有效(把过期时间设为某个大于0的整数)。但Session只能在本阅读器窗口以及其子窗口内有效。假如两个浏览器窗口互不相干,它们将运用两个不同的Session(IE8下不同窗口Session相干)

6. 跨域支持上的不同

Cookie支持跨域名访问,例如将domain属性设置为“.biaodianfu.com”,则以“.biaodianfu.com”为后缀的一切域名均能够访问该Cookie。跨域名Cookie如今被普遍用在网络中,例如GoogleBaiduSina等。而Session则不会支持跨域名访问。Session仅在他所在的域名内有效。仅运用Cookie或者仅运用Session可能完成不了理想的效果。这时应该尝试一下同时运用CookieSessionCookieSession的搭配运用在实践项目中会完成很多意想不到的效果。

Linux是什么?

和Windows操作系统一样,Linux也是一个操作系统软件,只不过它是企业级服务器操作系统,Linux系统以安全、稳定、免费、高效、可自由更改源代码著称,这几个优秀的特点使得Linux系统大受欢迎,并且未来也会越来越火!

Linux系统发展前景?

常用的IT服务器有Linux、Unix和Windows操作系统,其中Linux因其稳定、开源、免费、安全、高效的特点,发展迅猛,在服务器市场占有率超过80%,随着云计算的发展,Linux在未来服务器领域仍是大势所趋!

Linux就业前景如何?

随着开源软件在世界范围内影响力的日益增强,Linux在服务器、桌面、行业定制等领域获得了长足发展,尤其在服务器领域,占有较高的市场份额,并形成大规模市场应用的局面,引起了全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。

Linux的强劲发展势头,必然导致Linux运维需求量的增加,据相关平台统计,2017年国内Linux运维招聘岗位需求平均日招聘量为9714条,平均月薪为16340元, 作为高薪、热门且具有发展前途的职业,Linux运维工程师现已成为IT行业中很多人向往的高薪职业!

哪些公司在用Linux

百度、腾讯、阿里巴巴、淘宝网、京东商城、小米网、58同城、Sina、网易、滴滴打车、摩拜单车等都在大量使用Linux操作系统,国外的企业更是对Linux情有独钟,谷歌、Facebook、亚马逊等,毫不夸张地说,只要你能随口说出来想到的公司后台几乎都在使用Linux系统(包括Windows的厂商微软公司也在亲近Linux系统),我们使用的手机、平板等大多都在使用Linux系统(安卓版),苹果系列产品也都是类Linux系统(Unix),可见Linux系统的应用之广,可以预见未来至少是10年,Linux将是服务器端最火、应用最广的操作系统,没有之一,中国国家也在大力扶持Linux系统,从中小学开始普及Linux系统。

如何学Linux编程?

想要系统全面的学好Linux编程,就要师从大牛,老男孩教育的Linux培训老师如老男孩、赵班长等均是行业领军人物,拥有丰富的Linux从业经验,对于Linux学习和就业有很好的指导意义!

老男孩教育Linux培训优势

1. 独家课程内容,先进教学理念,重视能力与思维的培养;

2. 5年以上行业一线实战名师授课;

3. 心理学实战目标化教学,培养学习兴趣、讲授学习方法,严管学习态度;

4. 企业实战与理论相结合,项目实战占比40%,课程环环相扣,远超企业技术需求;

5. 口碑招生为主,学员转介绍率达70%以上;

6. 0基础班平均就业薪资10K-12K,职场提高班达16K-20K;

7. 面向社会出版多本Linux畅销书籍,覆盖全Linux行业知识;

8. 深耕10年以上、持续口碑发展,课程体系全面系统,保学员5-10年发展规划;

9. 讲师、项目经理、班主任、就业老师、优秀师兄5位一体,从入学到入职转正全程服务。

如何报名参加老男孩Linux培训

报名咨询电话:18500150262

老男孩官网咨询:http://www.oldboyedu.com/

老男孩总部地址:北京市昌平区顺沙路八号院汇德商厦4层