【问题标题】:How to set multiple "Set-Cookie" headers on single response [duplicate]如何在单个响应上设置多个“Set-Cookie”标头[重复]
【发布时间】:2021-04-03 17:52:37
【问题描述】:

如何设置多个 Set-Cookie 标头,就像 google 一样。尝试在 Go 和 Node.js 中执行此操作,但似乎不可能。 是否可以在没有任何框架的情况下做到这一点?

res.Header().Set("Set-Cookie", "q=city,c=acc; HttpOnly; SameSite=Lax") 
  • Node.js
 res.writeHead(200, {
    "Content-Type": "text/html",
    "Set-Cookie": "q=city,c=acc; HttpOnly; SamSite=Lax", 
    "Cache-Control": "max-age=120"
  });

【问题讨论】:

标签: node.js http go


【解决方案1】:

对于 golang,http.Header 有一个 Add Method,它将追加而不是覆盖现有的键。

Add 将键、值对添加到标题中。它附加到与键关联的任何现有值。键不区分大小写;它被 CanonicalHeaderKey 规范化。

【讨论】:

    【解决方案2】:

    对于 Node.js,在响应中使用 setHeader,并将数组作为值

      res.writeHead(200, { 
        "Set-Cookie": ["q=city;HttpOnly", "lat=45; SameSite=Lax", "another=foo;SameSite=Lax;"] 
      });
    

    对于 Go,在响应中使用 Header().Add()

    res.Header().Add("Set-Cookie", "q=city; SameSite=Lax")
    res.Header().Add("Set-Cookie", "multiple=1; HttpOnly")
    

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 2011-01-28
      • 2015-09-11
      • 2016-05-22
      • 2022-01-23
      • 2019-11-12
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      相关资源
      最近更新 更多