如何在Node.js中使用相同的密钥设置多个http头字段?

我试图用cloudflare设置服务器推送 ,但他们需要多个link头字段来推送多个文件。 但是,我找不到任何logging的方式来包含多个标头字段在node.js中具有相同的键。 我尝试提供一个数组,但是它们将它们连接在一起作为单个头字段的值。

       

网上收集的解决方案 "如何在Node.js中使用相同的密钥设置多个http头字段?"

performance

您将值的数组传递给res.header('HeaderName', arrayOfValues) 。 这里有一个工作示例和cURL输出显示重复的响应头。 这不是直接logging,但确实有效(express@4.14.0)。

 const express = require('express') const app = express() app.get('/', (req, res, next) => { res.header('Link', ['Link1', 'Link2']) res.send() }) app.listen(3000) 

curl -v localhost:3000输出:

 < HTTP/1.1 200 OK < X-Powered-By: Express < Link: Link1 < Link: Link2 < Date: Fri, 09 Sep 2016 01:44:22 GMT < Connection: keep-alive < Content-Length: 0 

节点核心http

使用res.setHeader(name,arrayOfValues)

 const http = require('http') const server = http.createServer(function (req, res) { res.setHeader('Link', ['Link1b', 'Link2b']) res.end() }) server.listen(3000) 

curl输出:

 < HTTP/1.1 200 OK < Link: Link1b < Link: Link2b < Date: Fri, 09 Sep 2016 01:52:53 GMT < Connection: keep-alive < Content-Length: 0