从Node中的请求解析重复的http标头?

时间:2016-04-06 00:18:17

标签: node.js http

在某些特殊情况下,会存在具有重复值的http请求标头,例如在标头中附加如下的XFF标头: b

通过使用npm package express和request,我们可以在下面的代码中解析重复的头文件吗? x-forwarded-for: *.*.*.* x-forwarded-for: *.*.*.*

1 个答案:

答案 0 :(得分:0)

重复的HTTP标头将合并为逗号分隔的列表,因此您的示例为

'x-forwarded-for': '1.2.3.4'
'x-forwarded-for': '5.6.7.8'

将成为

'x-forwarded-for': '1.2.3.4, 5.6.7.8'

这是根据HTTP RFC2616可用here

完成的
  

可能存在具有相同字段名称的多个消息头字段   在消息中,当且仅当该标头的整个字段值   字段被定义为以逗号分隔的列表[即,#(值)]。它必须   可以将多个标题字段合并为一个   “field-name:field-value”对,不改变语义   消息,通过将每个后续字段值附加到第一个,每个   用逗号分隔。头字段具有相同的顺序   因此,接收字段名称对于解释是重要的   组合字段值,因此代理不得改变   转发邮件时这些字段值的顺序

Here您可以在节点中找到相关问题。