简单阐述Cookie

Cookie 的特点:

  • 服务器通过 Set-Cookie 响应头设置 Cookie
  • 浏览器得到 Cookie 之后,每次请求都要带上 Cookie
  • 服务器读取 Cookie 就知道登录用户的信息(email)

举个例子:
比如游客A要去参观动物园,进动物园当然要有门票。
然后A就去买了两日票,动物园就给A返回一张两日内可无限入园参观的门票。
用来记录游客A的可以入园参观的信息。
那么,当游客突发急事,离开了动物园,但是票的有效期是两天的。
所以两天内即使游客再次进动物园,也不用再另外买票了。
而这个门票,就是cookie。

同理,游客B若也要参观动物园,也要先买门票,同样买了两日票。
那么动物园也给游客B一张两日票,两日内,凭票可无限次数进入动物园。

cookie都是有期限的,每个浏览器的保存期限都不一样。

就好比浏览器。
用户A访问了x.com,那么x.com的服务器就给用户A返回一段数据(这个数据就是cookie)
这时,当用户A退出页面后再次访问x.com,
由于x.com已经记录了A的cookie,所以A在x.com的一些历史记录信息也一并保存了下来。

上面的例子只是简单的介绍 Cookie 的作用,实际的网站使用 Cookie 时会更谨慎一些。

一些关于Cookie的问题:

  1. 在 Chrome 登录了得到 Cookie,用 Safari 访问,Safari 会带上 Cookie 吗?

不会

  1. Cookie 存在哪?

Windows 存在 C 盘的一个文件里

  1. Cookie 的有效期?

默认有效期20分钟左右,不同浏览器策略不同,后端可以强制设置有效期,具体语法看 MDN

  1. Cookie 遵守同源策略吗?

也有,不过跟 AJAX 的同源策略稍微有些不同。
当请求 qq.com 下的资源时,浏览器会默认带上 qq.com 对应的 Cookie,不会带上 baidu.com 对应的 Cookie
当请求 v.qq.com 下的资源时,浏览器不仅会带上 v.qq.com 的Cookie,还会带上 qq.com 的 Cookie.

你可能感兴趣的:(简单阐述Cookie)