## 一、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();
~~~