cookie与session的区别

大家好,我是IT修真院北京分院第二十六期的学员李宁虎,一枚正直纯洁善良的JAVA程序员 今天给大家分享一下,什么是cookie,什么是session,分别用作什么场景

一、背景介绍

为什么要使用cookie和session? 很多时候客户端和服务器进行交互使用了HTTP协议,但是HTTP协议是无状态的;HTTP协议的请求过程,是基于 TCP/IP 的,当客户端请求服务器,服务器处理后,进行响应,该过程是无状态的。

但是在有些时候是需要保存一些客户端的请求信息,识别客户端的某些状态,智能的、有针对性的去分析某些客户端的习惯。这些时候,就需要去记录客户端的连接状态,识别请求的状态等。所以为了解决类似的事情,就需要使用到了 Cookie 和 Session。

比如,使用Cookie的场景:有些网站有记住用户名的功能,当你勾这个的时候,下次进入该网站时,就会保存上一次登录的用户名;使用Seesion的场景:利用Seesion来验证用户是否已登录,利用Session来保存验证码。

二、知识剖析

Cookie:在客户端访问某个地址时,会将请求交到服务器进行处理,在发送请求的时候,浏览器会将页面的头部信息一并的交到服务器端进行处理。在处理的过程中,Cookie 在服务器端生成 ,在此同时,可以将一些需要保存的信息,存放到此 Cookie 中。生成 Cookie 对象时,需要确定具体的名称及具体的值,可以设置当前 Cookie 的过期时间,设置过期时间后,就相当于持久化了 Cookie 中的数据,此时的 Cookie 会以之前的 Cookie 名称,保存在客户端。

如果不设置过期时间,则当前 Cookie 的生命期是浏览器会话期间,一旦关闭了该浏览器,当前的Cookie 就会不存在了,此时的 Cookie 信息是保存在内存中。在服务器端,处理完后,会将生成的 Cookie ,随着 Http 响应,会在 Http 响应头中,加上Cookie 信息,浏览器接受到响应后,会按照 Http 响应头里的 Cookie ,在客户端建立 Cookie 。在下次客户进行请求的时候,Http 会附带着已经存储过的 Cookie,一并发送到服务器。一个域,在客户端建立的所以 Cookie 都是可以共享的,只要 Cookie 没有过期。

Session:Session 是在服务器端生成的,存储在服务器端,即存在内存中。可以对生成的 Session 设置过期时间,如果不设置过期时间,默认的 Session 过期时间是30 分钟(在不同的服务器中,它的过期时间略有不同,本文是以 Tomcat 来说的) 但是,Sesssion 的生成的同时,会生成一个与之相关联的的 SessionID ,此 SessionID的存储是需要 Cookie 来完成的。 SessionID 是以名称为 JSESSIONID,其值应该是一个既不会重复,又不容易被找到规律以仿造的字符串。SessionID会随着此次 Http 响应,一并返回到客户端,并保存在客户端中。到当前请求再次发出后,该 SessionID会随着 Http 头部,传到服务器中,服务器依据当前 SessionID 得到与之对应的 Session.

三、常见问题

有的网站禁用cookie之后,session不能用。

四、解决方案

如果客户端禁用了 Cookie 的话,很多网站任然可以存储用户的信息。一种处理的方式是URL 重写,将 SesseionID 直接附加在请求地址的后面。另一种处理的方式是,使用隐藏自动的方式。就是服务器自动的在表单中,添加一个隐藏字段,以便在表单提交时,将 SesseionID 一起传到服务器,进行识别。

五、编码实战

视频

PPT

六、拓展思考

session与cookie的区别,与使用场景

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

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

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

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

5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。

--------------------------------------------------------------------------------------------------------------------

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !

师兄带你入门!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容