【问题标题】:Node.js - Native HTTP how to delete cookiesNode.js - 原生 HTTP 如何删除 cookie
【发布时间】:2020-11-05 06:15:31
【问题描述】:

在 Node.js 的本机 HTTP 模块中。我正在尝试删除 cookie,但 cookie 永远不会删除!我想要做的是,当出现错误时,应用程序会删除所有 cookie。但是 cookie 永远不会改变。

if (proxy.error.message.code == 'HPE_HEADER_OVERFLOW') {

                    var array = [];

                    req.headers['cookie'].split('; ').forEach(cookie => {


                        array.push(cookie += `; maxAge=0;`);

                    });

                    console.log(array)
                    
                    res.writeHead(200, { 'Set-Cookie': array})

                    return res.end();

                }

我真的需要在普通 Node.js HTTP 而不是 Express.js 方面的帮助。我真的很喜欢!

【问题讨论】:

    标签: javascript node.js cookies


    【解决方案1】:

    在 mdn 上查看有关 cookie 的信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie

    它的“Max-Age”不是“maxAge”

    const http = require("http");
    
    
    const server = http.createServer((req, res) => {
    
        // set the cookies with a lifetime
        if (false) {
    
            console.log("set coookies");
    
            // set test cookies
            res.setHeader("Set-Cookie", [
                `key1=value1; Max-Age=${60 * 60 * 24};`,
                `key2=value2; Max-Age=${60 * 60 * 24};`
            ]);
    
            res.writeHead(200);
            res.end();
    
            return;
    
        }
    
    
        // remove cookies from client
        let cookies = req.headers["cookie"].split(";").map((cookie) => {
            return `${cookie}; Max-Age=0;`;
        });
    
        res.setHeader("Set-Cookie", cookies);
        res.writeHead(200);
        res.end();
    
    });
    
    
    
    server.listen(1234, "0.0.0.0");
    

    【讨论】:

      猜你喜欢
      • 2015-06-12
      • 1970-01-01
      • 2013-04-04
      • 2011-01-09
      • 2015-02-24
      • 2021-02-17
      相关资源
      最近更新 更多