cookie实现

参考博文:https://segmentfault.com/a/1190000007243675

cookie的工作机制:

1. 首先,我们假设当前域名下还是没有 Cookie 的

2. 接下来,浏览器发送了一个请求给服务器(这个请求是还没带上 Cookie 的)

3. 服务器设置 Cookie 并发送给浏览器(当然也可以不设置)

4. 浏览器将 Cookie 保存下来

5. 接下来,以后的每一次请求,都会带上这些 Cookie,发送给服务器.

什么事cookie

Cookie 就是浏览器储存在用户电脑上的一小段文本文件

Cookie 是纯文本格式,不包含任何可执行的代码

Cookie 由键值对构成,由分号和空格隔开

Cookie 虽然是存储在浏览器,但是通常由服务器端进行设置

Cookie 的大小限制在 4kb 左右.

Cookie 的属性选项

每个 Cookie 都有一定的属性,如什么时候失效,要发送到哪个域名,哪个路径等等。在设置任一个 Cookie 时都可以设置相关的这些属性,当然也可以不设置,这时会使用这些属性的默认值。

expires / max-age

expires / max-age 都是控制 Cookie 失效时刻的选项。如果没有设置这两个选项,则默认有效期为 session,即会话 Cookie。这种 Cookie 在浏览器关闭后就没有了。

domain 和 path

name、domain 和 path 可以标识一个唯一的 Cookie。domain 和 path 两个选项共同决定了 Cookie 何时被浏览器自动添加到请求头部中发送出去。具体是什么原理请看 Cookie 的作用域和作用路径 这个章节。

如果没有设置这两个选项,则会使用默认值。domain 的默认值为设置该 Cookie 的网页所在的域名,path 默认值为设置该 Cookie 的网页所在的目录。

httpOnly

这个选项用来设置 Cookie 是否能通过 js 去访问。默认情况下,Cookie 不会带 httpOnly 选项(即为空),客户端是可以通过 js 代码去访问(包括读取、修改、删除等)这个 Cookie 的。当 Cookie 带 httpOnly 选项时,客户端则无法通过 js 代码去访问(包括读取、修改、删除等)这个 Cookie。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP cookie(也称为web cookie,网络cookie,浏览器cookie或者简称cookie)是网...
    留七七阅读 18,280评论 2 71
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,818评论 19 139
  • 今天webryan给team做了一个关于HTTP cookie的分享,从各个方面给大家介绍一下大家耳熟能详的Coo...
    秒赞不是偶然阅读 12,785评论 0 20
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 4,938评论 0 51
  • ————————————————————————————————瞿三 做小决定的时候,听从自己的大脑,做大决定的时...
    瞿三阅读 1,828评论 0 1

友情链接更多精彩内容