Cookie

✍ dations ◷ 2025-07-20 17:27:15 #HTTP

Cookie(复数形态Cookies),又称为“小甜饼”。类型为“小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员卢·蒙特利在1993年3月发明。最初定义于RFC 2109。目前使用最广泛的 Cookie标准却不是RFC中定义的任何一个,而是在网景公司制定的标准上进行扩展后的产物。

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

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

因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么,所以Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

在刚才的购物场景中,当用户选购了第一项商品,服务器在向用户发送网页的同时,还发送了一段Cookie,记录着那项商品的信息。当用户访问另一个页面,浏览器会把Cookie发送给服务器,于是服务器知道他之前选购了什么。用户继续选购饮料,服务器就在原来那段Cookie里追加新的商品信息。结帐时,服务器读取发送来的Cookie就行了。

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

用户可以改变浏览器的设置,以使用Cookies。同时一些浏览器自带或安装开发者工具包允许用户查看、修改或删除特定网站的Cookies信息。

如果在一台计算机中安装多个浏览器,每个浏览器都会以独立的空间存放Cookie。因为Cookie中不但可以确认用户信息,还能包含计算机和浏览器的信息,所以一个用户使用不同的浏览器登录或者用不同的计算机登录,都会得到不同的Cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,Cookie不会区分他们的身份,除非他们使用不同的用户名登录。

一些人反对Cookies在网络中的应用,他们的理由如下:

如果用户在获取了一个 Cookie 之后,点击了浏览器的"回退"按键,则浏览器的状态和获取Cookie 的状态就出现了不一致.例如, 如果网站基于 Cookie 技术实现了购物车的应用,当用户添加了物品后点击了"回退"按键, 购物车的物品状态可能并没有发生变化.

Cookies在某种程度上说已经严重危及用户的隐私和安全。其中的一种方法是:一些公司的高层人员为了某种目的(譬如市场调研)而访问了从未去过的网站(通过搜索引擎查到的),而这些网站包含了一种叫做网页臭虫的图片,该图片透明,且只有一个像素大小(以便隐藏),它们的作用是将所有访问过此页面的计算机写入Cookie。而后,电子商务网站将读取这些Cookie信息,并寻找写入这些Cookie的网站,随即发送包含了针对这个网站的相关产品广告的垃圾邮件给这些高级人员。

虽然Cookies没有中电脑病毒那么危险,但它仍包含了一些敏感消息:用户名、电脑名、使用的浏览器和曾经访问的网站。用户不希望这些内容泄漏出去,尤其是当其中还包含有私人信息的时候。

这并非危言耸听,跨网站脚本(Cross site scripting)可以达到此目的。在受到跨网站脚本攻击时,Cookie盗贼和Cookie毒药将窃取内容。一旦Cookie落入攻击者手中,它将会重现其价值。

鉴于Cookie的局限和反对者的声音,有如下一些替代方法:

相关

  • 肺泡蛋白沉着症肺泡蛋白沉着症(pulmonary alveolar proteinosis,PAP),又名肺泡蛋白沉积症,是一种罕见的肺部疾病。患者体内肺表面活性物质衍生的脂蛋白化合物在肺泡内异常聚积,干扰肺部正常的气
  • 所罗门·格伦布所罗门·沃尔夫·格伦布(英语:Solomon Wolf Golomb,1932年5月30日-2016年5月1日),美国数学家。在南加州大学任职工程师及电力工程教授一职。最出名的是他所写的数学游戏。最引人注
  • 中枢神经系统疾患中枢神经系统疾病,是指影响中枢神经系统内的人脑或脊髓结构或功能的神经系统疾病。每种疾病都有不同的体征和症状如持续性头痛;面部,背部,手臂或腿部疼痛;无法集中注意力;失去感觉
  • 锢囚囚锢锋是锋的一种,是由于冷锋追上暖锋,或者两条冷锋迎面相遇而成(也有同一条冷锋的两段迎面相遇而形成的)。锢囚锋的形成经常发生在温带气旋的成熟阶段,通常出现在中高纬度地区。
  • 对蒙抗战中亚(花剌子模) – 格鲁吉亚与亚美尼亚 – 伏尔加保加利亚(萨马拉弯 – 比拉尔) – 安纳托利亚(克塞山) – 欧洲(立陶宛(英语:Mongol invasions of Lithuania) – 罗斯 – 波兰
  • 康涅狄格协议美国宪法建立于1787年,美国与英国之间的美国独立战争结束四年之后。美国宪法是邦联条例的后继者,但是其本源是英国宪法大宪章和英国权利法案。1607年,英国政府派遣一些农民到新
  • M2A3布拉德利步兵坦克M2布拉德利步兵战车(M2 Bradley IFV)是美国的步兵战车,以美国陆军五星上将奥马尔·布拉德利为名,由BAE系统陆地与军备公司(英语:BAE Systems Land & Armaments)制造,即是前联合国防
  • 国际自然保护联盟濒危物种红色名录国际自然保护联盟濒危物种红色名录(或称IUCN红色名录,简称红皮书)于1963年开始编制,是全球动植物物种保护现状最全面的名录。此名录由国际自然保护联盟编制及维护。IUCN红色名录
  • 洛斯帕德里斯国家森林洛斯帕德里斯国家森林(英语:Los Padres National Forest,也译作教士国家森林)是座美国国家森林,位于加利福尼亚州的南部、中部(英语:Central California)。森林由美国国家森林局管理
  • 质量欠缺质量欠缺,亦作质量过剩、质量剩余、质量盈余,是指原子核在分裂前后间,其质量跟原子量的差别,单位是原子质量单位,由德国科学家哈恩和史特拉斯曼于1938年发现。