初识cookie

5 篇文章 0 订阅

每天对自己多问几个为什么,总是有着想象不到的收获。 一个菜鸟小白的成长之路(copyer)

特点:

  • cookie由服务端生成,保存在浏览器端的一小段信息
  • cookie是以键和值的形式进行存储
  • 浏览器在访问一个网站的服务器时,会自动在请求头中把本网站相关的所有cookie发送给服务器
  • cookie是基于域名安全的
  • cookies有过期时间,默认关闭浏览器之后过期

解释:cookie是基于域名安全的

最开始百度的服务器给浏览器返回一个百度cookie,在访问百度的时候,就会携带百度cookie,而不会携带 谷歌提供的cookie, 这就是所谓的域名安全。


安装:

npm install cookie-parser

使用:
这里就是用了node中的express进行演示(需要了解下)

const cookieParser = require('cookie-parser')

app.use(cookieParser())

//设置cookie
app.get('/set_cookie', (req, res) => {
  //设置过期时间为两个小时
  res.cookie('name', 'james', { maxAge: 60 * 60 * 2 * 1000})
  res.cookie('age', 21)
  res.send('设置cookie')
})

//获取cookie
app.get('/get_cookie', (req, res) => {
  console.log(res.cookie.name);
  res.send('获取cookie')
})

初次访问/get_cookie

如果最开始访问:/get_cookie,在它的请求头里面应该是没有cookie的,因为是没有进行设置的。

在这里插入图片描述

解释: 可以 get_cookie的请求头里面的属性cookie是没有携带任何信息的

并且在浏览器的地址栏显示cookie的地方也是只两个不是自己设置的cookie


设置cookie

访问 /set_cookie , 就能设置两个 关于name , age 的cookie, 这下,我们在看下基本信息

在这里插入图片描述

解析: 当访问 /set_cookie 的时候,就可以在 响应头里面 ,看见 两个Set-Cookie就是我们自己的设置的name和age的cookie, 一个是有过期时间(name: 2个小时),一个是没有过期时间的(age: 默认浏览器关闭之后就没有了

​ 也可通过浏览器查查看cookie的地方,显示,现在是已经有了四个cookie,增加了 name 和 age,还可以详细的查看过期时间


再次访问/get_cookie

当访问服务器的时候,cookie会携带在请求头里面,传递给服务器。看信息:

在这里插入图片描述

这次就可以成功的看到, cookie在请求头里面被携带到服务器中,并且 cookie是以明文的形式存在


画图总结

比较的潦草,大概的过程就是这样吧

在这里插入图片描述

为什么?

1、cookie在哪里产生

​ 服务器

2、cookie保存在哪里

​ 浏览器

3、cookie优缺点

优点:

  • 在cookie中存放不敏感数据,即使被盗也不会有重大损失
  • 控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。

缺点:

  • Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值