cookie和session

cookie篇

cookie是客户端本地存储的一种方式,常见的客户端本地存储的方式还有:session storage、local storage和indexDB。cookie有两种,一种储存在浏览器进程中,另一种储存在硬盘中。sessionId储存在第一种cookie中,所以当浏览器关闭就等于销毁了这个sessionId。

cookie的用途

cookie是一小段文本信息,伴随着用户请求在 Web 服务器和浏览器之间传递。cookie存储在计算机本地中,可以跨越一个域名下的多个网页,但不能跨越多个域名使用。保存用户登录信息、保存购物信息是cookie常见的用途。

cookie的原理

用户每次访问页面浏览器都先搜索本地是否有与这个域名相关联的cookie,有的话便添加到request header的Cookie字段中,与http请求一起发送到该站点。

cookie的内容

在浏览器开发者模式resource下可观察cookie,其内容有:name/value、domain、Path、Expires/Max-age、httpOnly、Secure。各名值对之间需有分号+空格隔开。其中httpOnly属性只能在服务器设置、httpOnly和secure是非名值对属性。例子如下:

document.cookie = "test=myCookie; domain=.google.com.hk; expires=Sat, 04 Nov 2017 16:00:00 GMT; secure"
cookie的设置

可以从客户端或者服务端设置cookie:

//客户端:
document.cookie = "name=value[; expires=GMTDate][; domain=domain][; path=path][; secure]"
//服务端:
Set-Cookie: name=value[; expires=GMTDate][; domain=domain][; path=path][; secure][; HttpOnly]

每次设置不同的cookie名称就是新增cookie,修改cookie时可以修改原cookie的expries、secure属性,但不能修改domain、path属性。修改cookie时domain、path必须与原cookie保持一致,不然就会新增cookie。将expries设为一个过去的时间或将max-age设为0可以删除cookie。

cookie的缺点

安全性:由于cookie在HTTP中是明文传递的,其中包含的数据都可以被他人访问,可能会被篡改、盗用。

  1. 大小限制:cookie的大小限制在4KB左右,若要做大量存储显然不是理想的选择。
  2. 增加流量:cookie每次请求都会被自动添加到Request Header中,无形中增加了流量。cookie信息越大,对服务器请求的时间也越长。

session篇

在用户访问页面时,服务器可以为每个用户浏览器创建一个会话对象(session对象),并将sessionId保存到cookie上。注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,程序可以从用户的session中取出该用户的数据,为用户服务。

session和cookie的区别

  1. cookie数据存放在客户的浏览器上,session数据放在服务器上。
  2. cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。
  3. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
  4. cookie保存的数据不能超过4K,某些浏览器对cookie的名值对数量有限制。
参考文献
  1. https://segmentfault.com/a/1190000004743454#articleHeader9 (cookie)
  2. http://www.cnblogs.com/xdp-gacl/p/3855702.html (session)
  3. http://www.cnblogs.com/yunian/articles/5736066.html (cookie+session)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容