## 一、cookie
> express项目会npm install 后会绑定下载cookie-parser模块
1、服务端设置
~~~
res.cookie('isLogin', 1, { expires: new Date(Date.now() + 3600000), httpOnly: true });
~~~
删除
~~~
res.clearCookie('isLogin');
~~~
2、向客户端设置
~~~
res.writeHead(200, {
'Set-Cookie': 'SSID=Ap4GTEq; max-age=120000 ',
'Content-Type': 'text/html'
});
res.end('Hello World\n<script>console.log(document.Cookie)</script>');
~~~
## 二、session
git文档:https://github.com/expressjs/session#options
首先要安装express-session
~~~
npm install --save express-session session-file-store
~~~
相关方法
* Session.destroy():删除session,当检测到客户端关闭时调用。
* Session.reload():当session有修改时,刷新session。
* Session.regenerate():将已有session初始化。
* Session.save():保存session。
初始化
~~~
var session = require('express-session');
var FileStore = require('session-file-store')(session); // 使用文件存在,会在根目录下生成一个sessions目录,里面有设置的session(.json)文件
app.use(session({
name: "sid",
secret: "zqh", // 用来对session id相关的cookie进行签名
saveUninitialized: false, // 本地存储session(文本文件,也可以选择其他store,比如redis的)
resave: false, // 是否每次都重新保存会话,建议false
store: new FileStore(),
cookie: {
maxAge: 180*1000 // 有效期,单位是毫秒
}
}));
~~~
设置
~~~
req.session.isLogin = 1;
~~~
删除
~~~
req.session.destroy();
~~~