一、什么是Cookie
当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。它是Internet站点创建的,为了辨别用户身份而储存在用户本地终端上的数据,cookie大部分都是加密的。
二、Cookie工作原理
(1)浏览器端第一次发送请求到服务器端
(2)服务器端创建Cookie,该Cookie中包含用户的信息,然后将该Cookie发送到浏览器端
(3)浏览器端再次访问服务器端时会携带服务器端创建的Cookie
(4)服务器端通过Cookie中携带的数据区分不同的用户
(5)用户退出服务器删除cookie
三、在服务器端设置Cookie
写接口:当用户名密码正确时,设置cookie
格式
在基础代码的基础上,修改 /login 的代码。
点击页面上的登录,在开发者工具中,观察:
-
检测本次响应是否有set-cookie头
-
检测application下cookie中是否有值。
四、使用Cookie
客户端浏览器向服务器发请求时,会自动在请求头上携带cookie,具体来说它被保存在req.headers.cookie中。
第一步:先安装
npm install cookie-parser
第二步:使用:
var cookieParser = require('cookie-parser'); app.use(cookieParser());
第三步:调用
修改后端代码
app.get('/testcookie',(req,res) => { console.log('请求携带的cookie是', req.cookies) res.json({msg: '测试cookie',data: req.cookies}) })
四、删除Cookie
express框架提供了一个删除方法。从服务器端删除
app.get('/quit', (req, res) => { res.clearCookie('name'); res.clearCookie('isLogin'); res.redirect('/login.html'); });