HTTP标头上有多个值

时间:2015-09-19 10:23:27

标签: javascript node.js http express http-headers

这是对的吗?

var headers = new Headers();
headers.append('Accept', 'application/json, application/pdf')

我想接受json和pdf文件。

2 个答案:

答案 0 :(得分:1)

是的,it is correct。示例表格w3c:

Accept: text/plain, text/html

答案 1 :(得分:0)

通常,多个值标头必须表示为逗号分隔的列表,因此以这种方式表示值是有效的。同样有效的是包括多个Accept标头,服务器可以选择将其压缩回以逗号分隔的列表。

从HTTP RFC:https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html

当且仅当该报头字段的整个字段值都定义为逗号分隔的列表[即#(values)]时,消息中才会存在多个具有相同字段名的消息报头字段。通过将每个随后的字段值附加到第一个字段(每个字段用逗号分隔),必须在不更改消息语义的情况下,将多个头字段组合成一对“字段名:字段-值”。因此,具有相同字段名称的报头字段的接收顺序对于组合字段值的解释很重要,因此代理在转发消息时不得更改这些字段值的顺序。