cookie
Web应用程序是使用HTTP
协议传输数据的。HTTP
协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的链接就会关闭,再次交换数据须要创建新的链接。这就意味着服务器没法从链接上跟踪会话。前端
你可能会有这样的经历,登录一个网站的时候会提醒你要不要记住帐户和密码,这样下次来你就不用再次输入帐号密码了。这就是cookie
的做用,当咱们再次访问的时候,方便服务器直接根据咱们的cookie
来直接取上一次取过的东西(对于每个cookie
服务器会对这个cookie
存储上一次咱们拿过的数据,下一次对于同一个cookie
的时候,就直接在这里取)web
Cookie
Cookie
是由服务器端生成,发送给User-Agent
(通常是浏览器),(服务器告诉浏览器设置一下cookie
),浏览器自动会将Cookie
以key/value
保存到某个目录下的文本文件内,下次请求同一网站时也会自动发送该Cookie
给服务器,即添加在请求头部(前提是浏览器设置为启用cookie
)。Cookie
就是一个小型文件(浏览器对cookie
的内存大小是有限制的-------用来记录一些信息)chrome
Cookie
的特色Cookie
具备保质期即有永久的也含有临时的,每一个浏览器都含有本身的cookie,每次请求的时候,都会根据domain
来发送相应的cookie
,可经过设置expires 、max-age
来设定保存日期,不设置的话默认是临时存储,即关闭浏览器就消失。浏览器
document.cookie = 'expires=时间/max-age=秒'
虽然网站images.google.com
与网站www.google.com
同属于Google,可是域名不同,两者一样不能互相操做彼此的Cookie
。并且path
也必须同样才能相互访问彼此的cookie
,须要注意不一样浏览器对path
访问规定不同,对于chrome,path
必须为当前目录,设置为其余目录无效,只能当前页面只能访问当前目录及其以上的cookie
安全
Cookie
内存大小受限制Cookie
有个数和大小的限制,大小通常是4k服务器
Cookie
的安全性Cookie
在本地 能够被更改文件 敏感的数据不要放在cookie
里cookie
Cookies
的使用Cookie
实际上主要是web服务器开发人员设置的,前端开发人员较少使用cookie
,可是也会使用,好比设置登陆也页面的帐号信息。
咱们打开浏览器控制台,对于chrome,切换到Application,在左边的Storage下面能够看到cookie
项,点开就能看到当前有哪些cookie
,例以下面dom
能够看到每一行就是一个cookie
,里面含有它的值以及它的相关信息,待会将详细介绍每个属性的含义。先来看一下怎么设置Cookie
网站
document.cookie='name=xiaoming;expires='+oDate
上面就简单的设置了一项Cookie
,每个属性使用';'隔开,而且一次不能设置多个Cookie
,一次只能设置一个,后面的也不会覆盖前面的Cookie
,只会拼接到当前Cookie
的字符串后面。具体使用方法以下。google
经过document.cookie
设置cookie
document.cookie = 'age =18;max-age=1000'
)cookie
的时候。不能一次设置多条cookie
只能一次设置一条cookie
的信息,若是后面设置了前面的同样的字段,若是同域,同path
,那么后面会覆盖前面的,否者新增一条cookie
。设置到path
以后,该cookie
只能被该path
及其如下的目录获取,好比我设置path=/web
,那么当我在/这个,目录下的时候不能访问到我设置到/web
的cookie
,而我在/web/xxx
这个目录下能够访问获得)expires=时间/max-age=秒
(不设置的话默认是临时存储)cookie
(注意通常只有当咱们含有http
请求的时候设置cookie
才有效,不一样浏览器状况也不同,好比ie下就能够直接设置),经过字符串分割。cookie
:已通过期(即便设置日期,保证日期小于当前日期)