美文网首页
cookie和session

cookie和session

作者: warmT_ | 来源:发表于2017-12-09 00:14 被阅读0次

    cookie和session

    • cookie

      http协议是一个无状态协议,在浏览器同一个域名的不同页面,需要重复登录,因为浏览器不认识你

      • express 中的cookie
        • 下载 cookie-parser
          npm i --save-dev cookie-parser
        
        • 引入cookie-parser并启用cookieparser
          const cookieparser=require('cookie-parser');
          app.use(cookieparser());
          
        
      • 设置 cookie
          res.cookie('名','值',{maxAge:'最长存活时间',httpOnly:true}) 
        
      • express中 cookie获取
        req.cookies.名字
        
      • 具体例子
        const express = require("express");
        const app = express();
        const cookieparser = require("cookie-parser");
        app.use(cookieparser());
        //设置cookie
        //let mudidiAry = [];
        app.get('/gonglue', (req, res) => {
          let mudidi = req.query.mudidi;
          let mudidiAry = req.cookies.mudidi || [];
          mudidiAry.push(mudidi);
          res.cookie('mudidi', mudidiAry);
          res.send(`我的目地地是"${mudidi}"`)
        });
        //取cookie
        app.get('/', (req, res) => {
          let liks = req.cookies.mudidi;
          res.send(`我可能想去的地方有"${liks}"`)
        });
        app.listen(8080);
      

      浏览器展示情况:
      图一: 当我请求http://localhost:8080/gonglue?mudidi=北京;并且
      mudidi分别设置为 mudidi=上海,mudidi=成都的值的时候,都会存入cookie中
      图二:从cookie取出存入的值

    image.png image.png
    • cookie 的缺点
      • 不加密,可以自由的看到
      • 用户可以删除,或者禁用它
      • 可以篡改
      • 存储量小,可以被localStorage替代
    • cookie 的缺点
      • 不加密,可以自由的看到
      • 用户可以删除,或者禁用它
      • 可以篡改
      • 存储量小,可以被localStorage替代
    • session 的缺点
      • 设置session
          req.session.xxx=xxx
        
      • 设置session
          req.session.xxx
        
    • cookie和session 的区别
      - cookie是明码,session是乱码
      - cookie还存在浏览器端,session存在服务器端
      - cookie内存小,session内存大

    相关文章

      网友评论

          本文标题:cookie和session

          本文链接:https://www.haomeiwen.com/subject/kbzyixtx.html