Koa中使用cookies】的更多相关文章

错误重现:(使用ctx.cookies.set时报错) 这是因为koa的http的header字符集支持US-ASCII子集的字符集,故设置中文是'utf8'时就会报上面错误 解决方法有两种: 1. 使用new Buffer().toString('base64')转换 2. 使用encodeURIComponent()转换 this.cookies.set('test', new Buffer('你好').toString('base64')) new Buffer(ctx.cookies.g…
目录 Cookie 重要属性 实现原理 cookie签名实现原理 注意事项 Session 实现原理 JWT 使用方式 组成 实际应用 实现原理 前端存储方式 cookie session localStorage sessionStorage token 区别 Cookie HTTP协议是无状态的,但在WEB应用中,在多个请求之间共享会话是非常必要的,所以出现了Cookie cookie是为了辩别用户身份,进行会话跟踪而存储在客户端上的数据 服务器设置cookie:客户端第一次访问服务器时,会…
技术架构: ​ 在Koa中应用Nunjucks,需要先把Nunjucks集成为符合Koa规格的中间件(Middleware),从本质上来讲,集成后的中间件的作用是给上下文对象绑定一个render(view, model)方法,这样,后面的Controller就可以调用这个方法来渲染模板了. NPM社区有很多开源爱好者提供的第三方中间件.开发者可以根据实际情况自由选择,也可以像iKcamp团队一样,自己实现集成Nunjucks.本示例中,选用了koa-nunjucks-2模块. 安装koa-nun…
ejs的基本使用 安装 koa-views 和 ejs npm install --save koa-views/cnpm install --save koa-views npm install ejs --save / cnpm install ejs --save 引入 koa-views 配置中间件 const views=require('koa-views'); app.use(views('views',{map:{html:'ejs'}})); // 模板后缀名是ejs Koa中…
忙里偷闲,打开平时关注的前端相关的网站,浏览最近最新的前端动态.佼佼者,平凡的我做不到,但还是要争取不做落后者. 前端中的IoC理念,看到这个标题就被吸引了.IoC 理念,不认识呢,点击去一看,果然没让我失望,原文结合案例把概念诠释的很清楚.原来 Ioc 是 控制反转 或 依赖倒置. 控制反转.依赖倒置.依赖注入 这三个名词,我倒是很耳熟了,毕竟在大学学 java web 课程的时候接触过,记得当时还很认真的学了并做了笔记.时间真是遗忘的罪魁祸首,现在就只记得名词,而全然忘了概念. 什么是 Io…
概述 这几天学习koa2,有一些心得,记录下来,供以后开发时参考,相信对其他人也有用. 起因 这几天学习koa2,写的代码执行时有一个奇怪的bug:明明能够返回数据,却有时正常返回数据,有时偏偏给你返回404,很头疼.问传统后端,都不懂koa:上网查资料,怀疑是bodyparser的bug,于是换了另一个koa-body中间件来解析post请求,还是会出现这个bug. 直到我去github上面查别人koa2 + mongoose的代码,才发现是异步的问题.总结起来解决方案是这样的:既然koa2里…
有关于 Transfer-Encoding:chunked 类型的响应,参见之前的文章HTTP 响应的分块传输.这里看 Koa 中如何实现. Koa 中请求返回的处理 虽然官方文档有描述说明不建议直接调用 response.write: Bypassing Koa's response handling is not supported. Avoid using the following node properties: res.statusCode res.writeHead() res.w…
1.app.js /** * koa 中 session 的使用 * 1.npm install koa-session --save * 2.const session = require('koa-session'); * 3.app.keys = ['some secret hurr']; * const CONFIG = { * key: 'koa:sess', * maxAge: 86400000, * overwrite: true, * httpOnly: true, * sign…
1.app.js /** * koa 中 koa-bodyparser 中间件获取表单提交的数据 * 1.npm install --save koa-bodyparser * 2.引入 const bodyParser = require('koa-bodyparser'); * 3.app.use(bodyParser()); * 4.ctx.request.body; 获取表单提交的数据 */ // 引入模块 const Koa = require('koa'); const router…
1.app.js // 引入模块 const Koa = require('koa'); const router = require('koa-router')(); /*引入是实例化路由 推荐*/ const views = require('koa-views'); const common = require('./module/common.js'); // 实例化 let app = new Koa(); // 应用ejs模板引擎 app.use(views('views', { m…