Koa学习笔记:Cookie和Session

6. Cookie和Session

参考

  • cookie原理解析
  • 这一次带你彻底了解cookie

1. Cookie原理解析

1. Cookie需求

同服务器保持活动状态,保持Web浏览器状态的手段.(例子:web浏览器可以记忆用户的登录信息)

当服务端setCookie之后下次会自动带上相应的cookie信息

2. 用户登录机制解析

cookie机制如下图所示:

Koa学习笔记:Cookie和Session_第1张图片

  • 用户第一次登录输入帐号密码,传到服务端
  • 服务端确认登录成功后返回给用户一个带有用户id信息的cookie,并保存用户的ID
  • 当下次用户进入相应的页面时,获取保存本地的用户ID
  • 将用户ID发给服务器,进入登录状态
3. cookie的参数
  • key: cookie保存在浏览器内的name

  • value: cookie保存在浏览器内的值

  • domain: 来表示哪个域名可以看到Cookie

  • path: 某个域名下的某路径,或者该路径下的子目录都能看到这个Cookie

  • expire: cookie的有效期

  • secure: 是否可以通过安全的HTTPS来传输cookie

2. Koa使用Cookie

  • Cookie的读取: ctx.cookies.get
  • Cookie的设置: ctx.cookies.set
1. setCookie参数设置

具体设置方法参考:cookies

Koa学习笔记:Cookie和Session_第2张图片

2. setCookie设置cookie
// index.js
const Koa = require('koa');
const router = require('koa-router')();
const {
    setCookie } = require('./middleware/cookie.js');

const app = new Koa();

router.get('/', async ctx => {
   
  ctx.body = 'Root';
});

app.use(setCookie);

app.use(router.routes(), router.allowedMethods());

app.listen(3000, () => {
   
  console.log('server is on port 3000');
});
  • setCookie
const setCookie = async (ctx, next) => {
   
  if (ctx.url === '/index') 

你可能感兴趣的:(Koa笔记,Cookie,Session,Koa)