推荐答案
在 Express 中设置 HTTP 响应头可以通过 res.set()
或 res.header()
方法来实现。这两个方法的功能是相同的,都可以用于设置单个或多个响应头。
设置单个响应头
res.set('Content-Type', 'application/json'); // 或者 res.header('Content-Type', 'application/json');
设置多个响应头
-- -------------------- ---- ------- --------- --------------- ------------------- ---------------- ---------- --- -- -- ------------ --------------- ------------------- ---------------- ---------- ---
设置响应状态码
你还可以在设置响应头的同时设置状态码:
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 规范,并且不会与现有的标准头冲突。