cookie-parser与express-session

1.cookie的执行原理:当客户端访问服务器时,则服务器会生成一份cookie传输给客户端,客户端会自动把cookie保存起来;以后客户端每次访问服务器,都会随身携带cookie

1.1.cookie-parser的使用方法

(1)先安装 npm i cookie-parser

(2)在使用 var 变量名 = require('cookie-parser') 引入 

(3)在app.js文件中使用 app.use(cookieParser());//使用cookie-parser

(4)生成cookie:

   ①设置cookie
   ②在响应的时候,生成一份cookie(票据)
   ③res.cookie('xxcode',"abc");

(5)取出cookie:console.log(req.cookies)

(6)加密cookie:

    var cookieParser = require('cookie-parser');

    app.use(cookieParser("xiaoxuesheng"));指定密匙

cookie的弊端 :保存到客户端容易被修改和删除,保存数据的数量有限

cookie的好处:简单易懂好用

 

2.express-session:session是一种特殊的cookie。cookie是保存在客户端的 ,而session是保存在服务端的

session的执行原理:当客户端第一次请求服务器的时候,服务器会生成一份session保存在服务端,会把该数据的session(id)以cookie的形式传递给客户端,以后每次请求浏览器都会自动把随身携带的cookie来访问服务器(session的id)

session 运行在服务器端,当客户端第一次访问服务器时,可以将客户的登录信息保存。

2.1 express-session的使用方法

(1)先安装 npm i express-session

(2)在使用let 变量名=require("express-session")引入

(3)在app.js文件中使用session中间件

    app.use(expressSession({
    resave:true,//每次是否都刷新存储器
    saveUninitialized:true,
    secret:"xiaoxuesheng" //秘钥
    }))

  使用session存储数据 req.session.yourcode = 'qqq'

  取出session数据  console.log(req.session)

session的好处:session是保存在服务器端的 更加安全

 

 

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

posted @ 2021-12-28 20:00  面孔冰冷  阅读(182)  评论(0)    收藏  举报