📌  相关文章
📜  节点 js 响应标头 - Javascript (1)

📅  最后修改于: 2023-12-03 14:57:09.558000             🧑  作者: Mango

节点 JS 响应标头

在 Node.js 中,可以通过设置响应标头来控制浏览器或客户端如何处理服务器发送的数据。响应标头是包含在 HTTP 响应中的元数据。它们不是可见的页面内容,而是用于告诉浏览器或客户端如何处理该页面的数据。

设置响应标头

可以使用 Node.js 的核心 http 模块来设置响应标头。以下代码演示如何使用该模块设置一个名为 Content-Type 的响应标头:

const http = require('http');

http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!');
}).listen(8080);

在上述代码中, res.writeHead() 方法设置了 HTTP 响应标头。第一个参数 200 是 HTTP 状态码,第二个参数是一个对象,其中包含一个名为 Content-Type 的键值对。该键值对告诉浏览器返回的数据类型是纯文本。

常用的响应标头

以下是一些常用的 HTTP 响应标头及其用途:

  • Content-Type: 返回数据类型
  • Content-Length: 返回数据长度
  • Cache-Control: 缓存控制
  • Location: 重定向 URL
  • Set-Cookie: 设置 cookie
使用 Express 库设置响应标头

如果使用 Express 框架,则可以使用其内置的 res 对象设置响应标头。以下代码示例演示如何使用 Express 中 res.set() 方法设置响应标头,以及如何从浏览器中删除 cookie:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.set('Content-Type', 'text/html');
  res.cookie('name', 'value');
  res.send('Hello World!');
});

app.get('/logout', (req, res) => {
  res.clearCookie('name');
  res.send('Logged out!');
});

app.listen(8080, () => console.log('Server running at http://localhost:8080/'));

在上述代码中, res.set() 方法设置了响应标头, res.cookie() 方法设置了一个名为 name 的 cookie,而 res.clearCookie() 方法删除了该 cookie。

总之,了解如何设置和使用响应标头是编写 Node.js 服务器应用程序的重要一步。它使您能够完全控制与客户端之间的通信,并为应用程序提供更高的性能和安全性。