Мой код Php можно отправить два заголовка с тем же именем, в php второй параметр для замены или переопределения. но в ExpressJS res.header
не похоже на PHP-код
PHP-код:
header("Link: <http://$prefetch_next_img>; rel=prefetch",false);
header("Link: <http://$prefetch_next_img2>; rel=prefetch",false);
http://us2.php.net/manual/en/function.header.php
ExpressJS (NodeJS):
res.header('Link','Fake Value');
res.header('Link','Only Send it'); // previous header replaced
В конечном итоге вам нужно будет передать массив, чтобы установить несколько значений для одного и того же заголовка.
res.header('Set-Cookie', ['foo', 'bar']);
Смотря на библиотека ответов Для экспресса мы можем увидеть следующие примеры:
/**
* Set header `field` to `val`, or pass
* an object of header fields.
*
* Examples:
*
* res.set('Foo', ['bar', 'baz']);
* res.set('Accept', 'application/json');
* res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
*
* Aliased as `res.header()`.
*
* @param {String|Object} field
* @param {String|Array} val
* @return {ServerResponse} for chaining
* @public
*/
Более глубокое погружение в код показывает нам, что это на самом деле просто прокси для узла response.setHeader (), который следует в том же формате
Устанавливает одно значение заголовка для неявных заголовков. Если этот заголовок
уже существует в заголовках для отправки, его значение будет заменено.
Используйте массив строк здесь, если вам нужно отправить несколько заголовков с
одно и то же имя
response.setHeader('Set-Cookie', ['type=ninja', 'language=javascript']);
Других решений пока нет …