开始一个koa2 -(3)-cookie存储数据

本文详细解析了Cookie在前端和后端的角色,展示了Cookie如何在浏览器和服务器间建立会话,保持用户状态。并介绍了koa2中Cookie的设置方法,包括有效期、路径、安全性等关键属性。

1.前端理解的cookie:

  • cookie 是一个变量,它存在访问者的计算机中。
  • 作用:可以让我们用同一个浏览器访问同一个域名的时候共享数据。

2.后台理解的cookie:

cookie是一种报文头信息,请求报文和响应报文中都可以有cookie,key-value的形式,主要用来识别用户身份。

例如:

浏览器第一次访问域名A--》服务器向客户端发送cookie--》浏览器存储

浏览器再次访问域名A--》将这个cookie返回给服务器

这相当于浏览器与服务器建立会话,关闭浏览器,会话结束;

3.在学习koa2设置cookie前,可以比较一下express 是如何设置cookie的;nodejs基础教程-简单blog(5)-cookie保存用户登录状态

下面是koa2设置cookie

cookie:

 cookie = {
  maxAge: '', // cookie有效时长 单位:毫秒数
  expires: '',  // cookie失效时间
  path: '', // 写cookie所在的路径,默认是'/'
  domain: '', // 写cookie所在的域名
  httpOnly: '', //是否只用于http请求中获取;  默认是 true ,客户端不可读取

   // 是否允许重写  一个布尔值,表示是否覆盖以前设置的同名的 cookie (默认是 false).
  // 如果是 true, 在同一个请求中设置相同名称的所有 Cookie(不管路径或域)是否在设置此Cookie 时从 Set-Cookie 标头中过滤掉。
  overwrite: '',

  secure: '',// 安全 cookie   默认false,设置成true表示只有 https可以访问
  sameSite: '',
  signed: '',

}

//expires/maxAge 字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,
//此cookie失效。不设置的话默认值是Session

4.设置cookie;

ctx.cookies.set(
		'cid',//name
		'hello world222',//value
		{
		  maxAge: 10 * 60 * 1000, // cookie有效时
            //expires: new Date('2018-11-17'),  // cookie失效时间
		}
	)

首次建立会话,只有response headers中有cookie.

第二次建立会话,request headers中也有cookie

5.服务器清除cookie

ctx.cookies.set('cid', '', { maxAge: 0})

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值