美文网首页
前端面试必考题

前端面试必考题

作者: OrangeQjt | 来源:发表于2018-12-07 11:25 被阅读0次
    1.cookie和session的区别:

    共同点:都是用来存储数据的;
    不同点:
    cookie:
    1.>cookie存在客户端的;
    2.>安全性不高,别人可以分析存放在本地的cookie并进行cookie欺骗;
    3.>存储空间有限,只有4k;
    session:
    1.>存储在服务器端;
    2.>安全性高;
    3.>存储空间大,存储数据过多,响应就慢了;
    可以将登录信息等重要信息,存放在session中;其他信息如需保留,可存放在cookie中;

    2.cookie:(12-5)

    A.发送cookie:先创建服务器
    cookie-send.js

    const express=require('express');
    var server=express();
    //
    server.use('/aaa/a.html',function(req,res){
        //服务器给客户端发送cookie
        res.cookie('uname','jack',{path:'/aaa',maxAge:30*24*60*60*1000})//k,v maxAge:毫秒
        res.send('ok');
    })
    server.listen(8080);
    

    B.获取cookie

    需要借助中间件cookie-parser

    第一步:下载cookie-parser cnpm install cookie-parser
    cookie-parser.js

    const express=require('express');
    //引入cookie-parser
    const cookieParser=require('cookie-parser');
    var server=express();
    server.use(cookieParser());
    server.use('/aaa/a.html',function(req,res){
        console.log(req.cookies);
        res.send('ok');
    })
    server.listen(8080);
    

    C.给cookie加密:设置秘钥,签名

    const express=require('express');
    const cookieParser=require('cookie-parser');
    var server=express();
    server.use(cookieParser());
    server.use('/aaa/a.html',function(req,res){
        //设置一个秘钥
        req.secret='nnbvmbn';
        res.cookie('user','lily',{signed:true});
        res.send('ok');
    })
    server.listen(8080);
    

    D.清除cookie

    const express=require('express');
    const cookieParser=require('cookie-parser');
    var server=express();
    server.use(cookieParser());
    server.use('/aaa/a.html',function(req,res){
        res.clearCookie('user');
        res.send('ok');
    })
    server.listen(8080);
    
    3.session:(12-6)

    下载中间件:cookie-session:cnpm install cookie-session;

    //1.搭建一个服务器
    const express=require('express');
    const cookieParse=require('cookie-parser');
    const cookieSession=require('cookie-session');
    var server=express();
    server.use(cookieParse());
    server.use(cookieSession({
        keys:['aaa','bbb','ccc']
    }));
    server.use('/',function(req,res){
        console.log(req.session);
        res.send('ok');
    })
    server.listen(8080);
    

    相关文章

      网友评论

          本文标题:前端面试必考题

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