Node.js 中 res.setHeader 和 res.header 的区别

作者:编程家 分类: 编程代码 时间:2025-11-23

Node.js中的res.setHeader和res.header有着一些区别。在这篇文章中,我们将详细讨论这两个方法,并通过一些案例代码来说明它们的用法。

在Node.js中,res是HTTP响应的对象,它包含了用于发送响应的方法和属性。而res.setHeader和res.header都是用于设置响应头的方法,它们可以设置HTTP响应的头信息。

首先,让我们来看看res.setHeader方法。这个方法用于设置响应头中的一个特定字段的值。它接受两个参数,第一个参数是字段的名称,第二个参数是字段的值。例如,如果我们想设置响应头中的Content-Type字段为"text/html",我们可以使用以下代码:

javascript

res.setHeader('Content-Type', 'text/html');

这将在响应头中设置Content-Type字段的值为"text/html"。通过设置不同的字段和值,我们可以自定义HTTP响应的头信息。

接下来,让我们来看看res.header方法。这个方法用于获取响应头中的一个特定字段的值。它接受一个参数,即字段的名称,并返回该字段的值。例如,如果我们想获取响应头中Content-Type字段的值,我们可以使用以下代码:

javascript

var contentType = res.header('Content-Type');

这将返回Content-Type字段的值,并将其赋值给contentType变量。

通过上述例子,我们可以看出res.setHeader和res.header方法的区别。res.setHeader用于设置响应头中的字段的值,而res.header用于获取响应头中的字段的值。它们分别用于设置和获取响应头的操作。

案例代码:

下面是一个完整的示例代码,演示了如何使用res.setHeader和res.header方法:

javascript

const http = require('http');

const server = http.createServer((req, res) => {

res.setHeader('Content-Type', 'text/html');

res.setHeader('X-Powered-By', 'Node.js');

const contentType = res.header('Content-Type');

const poweredBy = res.header('X-Powered-By');

res.write(`Content-Type: ${contentType}\n`);

res.write(`X-Powered-By: ${poweredBy}\n`);

res.end();

});

server.listen(3000, () => {

console.log('Server is running on port 3000');

});

在上面的示例中,我们创建了一个HTTP服务器,并在请求处理函数中使用res.setHeader方法设置了Content-Type和X-Powered-By字段的值。然后使用res.header方法获取这两个字段的值,并将其写入响应体中。最后,我们将服务器监听在3000端口上。

通过运行上述代码,我们可以在浏览器中访问http://localhost:3000,并查看响应的头信息。你将看到类似以下内容的响应:

Content-Type: text/html

X-Powered-By: Node.js

一下,Node.js中的res.setHeader和res.header方法都是用于设置和获取响应头的。res.setHeader用于设置响应头中字段的值,而res.header用于获取响应头中字段的值。通过合理使用这两个方法,我们可以自定义和操作HTTP响应的头信息。