上一节简单介绍怎么使用express框架。那么这小节,我们学习新的东西,cookie的一些常用操作。
cookie可以临时存储的特点,由服务端提供给前端的一个简单的数据。
- cookie 小只有4kb,不安全。但是也有它好的一面,它可以兼容所有的浏览器,可以记录在浏览器里。
- cookie常见的场景,就是网站的“下一次自动登录”、“上次观看的位置等”
express中使用:
res.cookie(key,value,{path:'/mylouteraddress',maxAge:毫秒})
注:path代表地址,浏览器里的地址。
我们在express框架里可以使用一个 cookie-parser 中间件来处理。
cookie-parser
var express = require('express');
var static = require('express-static');
var cookieParser = require('cookie-parser');
var server = express();
server.listen(2573);
//server.use(cookieParser('asdfghjklpoieuwy3719edheu'));// 使用中间件
server.use('',function(req,res,next){
//res.cookie('test','Anny');
var json = req.cookies;
//for(var i in json){
// res.clearCookie(i);// 清空
//}
req.secret = 'asdfghjklpoieuwy3719edheu';// 加密
res.cookie('test','Anny',{signed:true}); // signed:true 加密
res.send('ok');
//res.cookie('test','Anny',{maxAge:365*24*3600*1000});
//res.cookie('password','123456',{maxAge:365*24*3600*1000});
//res.send('ok');
//next();
});
signed:true 时,在浏览器查看cookie时密码是乱码,达到了我们的要求。
由于是可逆的,我们也可以还原:
server.use(cookieParser('asdfghjklpoieuwy3719edheu'));// 使用中间件
总结:
cookie虽然存储方便,但是也要注意数据的安全性,对于比较敏感的数据,我们通常建议保存在服务端,给cookie加密,给cookie添加时间限制,例如超过多久就失效或自动删除key等.
下一小节我将分享下 jade 模板。