cookie是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie是啥相关的知识,希望对你有一定的参考价值。

浏览器cookie是一个保存在客户机中的简单的文本文件,这个文件与特定的 Web 文档关联在一起,保存了该客户机访问这个Web文档时的信息,当客户机再次访问这个Web文档时这些信息可供该文档使用。

由于“Cookie”具有可以保存在客户机上的神奇特性,因此它可以帮助我们实现记录用户个人信息的功能,而这一切都不必使用复杂的CGI等程序。

举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。如果使用浏览器访问Web,会看到所有保存在硬盘上的Cookie。

在这个文件夹里每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的Web站点的信息。在这里的每个Cookie文件都是一个简单而又普通的文本文件。透过文件名,就可以看到是哪个Web站点在机器上放置了Cookie(当然站点信息在文件里也有保存)。

Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。其中:

(1)Name/Value:设置Cookie的名称及相对应的值,对于认证Cookie,Value值包括Web服务器所提供的访问令牌。

(2)Expires属性:设置Cookie的生存期。有两种存储类型的Cookie:会话性与持久性。Expires属性缺省时,为会话性Cookie,仅保存在客户端内存中,并在用户关闭浏览器时失效。

(3)Path属性:定义了Web站点上可以访问该Cookie的目录。

参考技术A 小型文本文件。
Cookie,有时也用其复数形式Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

cookie是啥?cookie的设置/修改/获取/删除

参考技术A

COOKIE长度限制总结

cookie在柯林斯词典上的释义:甜饼,网络跟踪器(记录上网用户信息的技术) 。
之前一直把cookie和cache傻傻分不清,现在 可以确定cookie表示网络跟踪器 ,cache请听下回分解。

cookie能在客户端保存用户信息(区别于session在服务端保存用户信息)

通过document.cookie.length可以发现cookie其实就是一个由key和value加分号组成的字符串,这个例子中的字符串长度为415。
typeof document.cookie返回true也证明了这点。

预备知识: undefined和null在cookie中的妙用

setCookie中:escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。它将任何形式的value,转换成字符串,此函数存在于window对象下。

Cookie默认有效期是多久?
是指不专门设置有效期时的有效期,不设置有效期时Cookie只在当前会话内有效,关闭浏览器后即被丢弃。

setCookie函数中有效期的实现依据是什么?

在向document.cookie写入值的时候,末尾添加字符串为 ;expires=GMT/UTC_Format_Time ,expires使用GMT或UTC格式的时间 ,即可设置有效期,有效期格式必须为GMT或者UTC格式。

cookie常用字段设置语法:

1 直接修改firstName字段

2 使用 setCookie(cookie_name,value,day) 函数,也可以修改,使用相同的字段名,后面的可以覆盖前面的值。

下面是一个实际的例子

cookie获取正则解析:
"(^| )" + name + "=([^;]*)(;|$)" 是正则匹配。 (^| ) 匹配cookie开头或空格(cookie键值对之间用分号空格隔开),也就是cookie键值对的开始。接着是cookie的名称name,([^;]*)匹配除分号以外的任意字符,也就是cookie键值对的值。最后(;|$)匹配分号或整个cookie的结尾,也就是cooke键值对的结尾。

设置要删除的cookie的expires为过去的时间即可。

Cookie主要用在以下三个方面:

会话状态管理(如用户登录状态、购物车、游戏分数和其它需要记录的信息)
个性化设置(如用户自定义设置、主题等)
浏览器行为跟踪(如跟踪分析用户行为)
保持登录状态(拒绝cookie可能无法正常登录,不过也有其它解决方案)

加深理解cookie:
js与cookie的domain和path之间的关系
javascript操作cookie
w3school中JavaScript Cookies

以上是关于cookie是啥的主要内容,如果未能解决你的问题,请参考以下文章

cookie 是啥,它有啥用

cookie是啥?cookie的设置/修改/获取/删除

cookie是啥?有啥用?cookie详解,一篇文章彻底搞懂cookie

cookie是啥文件?可以清理么?

cookie是啥

cookies是啥文件?