Cookie是什么

这两天在学习Cookie的相关知识,这里做一个简单的学习笔记,方便今后回看。

Cookie的含义

Cookie 英文翻译过来的意思是 “小甜饼”,但是这里介绍的是HTTP Cookie。它是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器。

Cookie的用途

因为HTTP协议是无状态的(服务器不知道用户上一次做了什么),这严重阻碍了交互式Web应用程序的实现,Cookie使得基于无状态的HTTP协议记录稳定的状态信息成为了可能。

Cookie的典型用途——网购

在网上购物的时候,用户将商品A和商品B加入了购物车,在最后结账的时候,由于HTTP是无状态的,不通过额外的手段,服务器不知道用户购买了那些商品。服务器通过设置或者读取Cookie中包含的信息,借此就能和用户之间保持对话的关系。当用户选择商品A之后,这时服务器端就会向浏览器端发送页面请求的时候,还发送一段Cookie,记录着这件商品的信息,当用户跳转到另一个商品的选购上时,浏览器会将这个Cookie发送给服务器,于是服务器就知道了用户之前选购了什么,当用户选择商品B之后,服务器就在原来只有商品A的Cookie上追加商品B的信息,就这样用户就可以一直向购物车中添加不同的商品,这样当用户在最后结账的时候通过Cookie的记录,之前所有已经加入购物车的商品的信息都会发到服务器上。

Cookie的典型用途——登录一个网站

当用户登录一个网站的时候,网站往往会请求用户输入账户名和密码,并且用户可以勾选“下次自动登录”。如果勾选了,那么用户下次访问同一个网站的时候,用户可以不输入用户名和密码就可以自动登录,这正是因为前一次登录时,服务器发送了包含登录凭据(用户名加密码的某种加密形式)的Cookie到用户的硬盘上。第二次登录时,如果该Cookie尚未到期,浏览器会发送该Cookie,服务器验证凭据,于是不必输入用户名和密码就让用户登录了。

Cookie的分类

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。

内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。

Cookie的缺陷

1、Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。

2、由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。

3、Cookie的大小限制在4KB左右,对于复杂的存储需求来说是不够用的。

注意

如果在一台计算机中安装多个浏览器,每个浏览器都会以独立的空间存放Cookie。因为Cookie中不但可以确认用户信息,还能包含计算机和浏览器的信息。

创建Cookie

当服务器收到HTTP请求的时候,服务器可以再响应头里面添加一个Set-Cookie选项。浏览器收到响应之后通常会保存下Cookie,之后对该服务器每一次请求的头部中都通过Cookie请求头部将Cookie信息发送给服务器。

服务器使用Set-Cookie响应头部向浏览器发送Cookie信息,一个简单的Cookie:

Set-Cookie: <cookie名>=<cookie值>

服务器通过该头部告知客户端保存Cookie信息。

下面是一个Node.js的实现例子:

response.setHeader('Set-Cookie',`sign_in_email=1@qq.com`)

那么浏览器中得到的结果就是


参考:

1、维基百科—Cookie

2、MDN—创建Cookie

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

推荐阅读更多精彩内容