Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJ如何在http响应中处理多个www身份验证头?_Node.js_Http - Fatal编程技术网

Node.js NodeJ如何在http响应中处理多个www身份验证头?

Node.js NodeJ如何在http响应中处理多个www身份验证头?,node.js,http,Node.js,Http,考虑到http规范支持多个WWW认证头,并且响应头似乎只能通过response.headers对象(即头名称:值)才能使用,nodejs http.IncomingMessage对象如何处理响应中的多个WWW认证头? 比如说, GET / HTTP/1.1 WWW-Authenticate: foo WWW-Authenticate: bar 将导致 req.headers['www-authenticate'] == 'foo, bar' 这符合,其中规定: 当且仅当消息头字段的整个字段值

考虑到http规范支持多个WWW认证头,并且响应头似乎只能通过response.headers对象(即头名称:值)才能使用,nodejs http.IncomingMessage对象如何处理响应中的多个WWW认证头?

比如说,

GET / HTTP/1.1
WWW-Authenticate: foo
WWW-Authenticate: bar
将导致

req.headers['www-authenticate'] == 'foo, bar'
这符合,其中规定:

当且仅当消息头字段的整个字段值定义为逗号分隔列表[即#(值)]时,消息中可能存在具有相同字段名的多个消息头字段必须能够将多个标题字段组合成一个“字段名称:字段值”对,而不改变消息的语义,方法是将每个后续字段值附加到第一个字段,每个字段都用逗号分隔。因此,接收具有相同字段名的标题字段的顺序对于组合字段值的解释非常重要,因此,在转发消息时,代理不得更改这些字段值的顺序