推荐答案
在 Express 中设置 HTTP 响应头可以通过 res.set() 或 res.header() 方法来实现。这两个方法的功能是相同的,都可以用于设置单个或多个响应头。
设置单个响应头
res.set('Content-Type', 'application/json');
// 或者
res.header('Content-Type', 'application/json');设置多个响应头
// www.javascriptcn.com code example
res.set({
'Content-Type': 'application/json',
'Cache-Control': 'no-cache'
});
// 或者
res.header({
'Content-Type': 'application/json',
'Cache-Control': 'no-cache'
});设置响应状态码
你还可以在设置响应头的同时设置状态码:
res.status(200).set('Content-Type', 'application/json');本题详细解读
res.set() 和 res.header() 的区别
res.set() 和 res.header() 是 Express 提供的两个方法,用于设置 HTTP 响应头。它们的功能完全相同,只是方法名不同。你可以根据个人喜好选择使用哪一个。
设置单个响应头
当你只需要设置一个响应头时,可以直接传递两个参数:头字段的名称和值。例如:
res.set('Content-Type', 'application/json');这会将响应头的 Content-Type 设置为 application/json。
设置多个响应头
如果你需要设置多个响应头,可以传递一个对象,对象的键是头字段的名称,值是头字段的值。例如:
res.set({
'Content-Type': 'application/json',
'Cache-Control': 'no-cache'
});这会将 Content-Type 设置为 application/json,并将 Cache-Control 设置为 no-cache。
设置响应状态码
在设置响应头的同时,你还可以通过 res.status() 方法设置 HTTP 状态码。例如:
res.status(200).set('Content-Type', 'application/json');这会将状态码设置为 200,并将 Content-Type 设置为 application/json。
注意事项
- 设置响应头时,确保在发送响应之前调用这些方法,否则可能会抛出错误。
- 如果你需要设置自定义的响应头,确保它们符合 HTTP 规范,并且不会与现有的标准头冲突。