📜  Node.js Http2ServerResponse.writeHead() 方法(1)

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

Node.js Http2ServerResponse.writeHead() 方法

简介

http2 模块是 Node.js 中用于支持 HTTP2 协议的核心模块。在 http2 模块中,Http2ServerResponse 类是一个代表服务器响应的类,提供了 writeHead() 方法用于设置响应头信息。

语法
response.writeHead(statusCode[, statusMessage][, headers])

参数说明:

  • statusCode 表示 HTTP 响应状态码。
  • statusMessage 表示 HTTP 响应状态消息字符串。如果未提供,则自动使用 http.STATUS_CODES 对象中的消息字符串。
  • headers 是一个包含响应头信息的对象或者数组。如果未提供,则自动使用一个空对象。
返回值

该方法没有返回值。

功能

该方法使用指定的 statusCodestatusMessageheaders 设置服务器响应的响应头信息。

如果未提供 statusMessage 参数,则会自动使用 http.STATUS_CODES 对象中的消息字符串。

如果未提供 headers 参数,则自动使用一个空对象。

示例

下面的示例演示了如何使用 writeHead() 方法设置 HTTP 响应头信息。

const http2 = require('http2');
const server = http2.createSecureServer({
  cert: 'my-cert.pem',
  key: 'my-key.pem'
});

server.on('stream', (stream, headers) => {
  stream.respond({
    'content-type': 'text/plain',
    ':status': 200
  });
  stream.write('Hello world');
  stream.end();
});
server.listen(8000);

在上面的示例中,使用 stream.respond() 方法设置 content-type:status 两个响应头参数,然后使用 stream.write() 方法写入响应正文,最后使用 stream.end() 方法结束响应过程。

总结

writeHead() 方法是 Http2ServerResponse 类提供的一个设置 HTTP 响应头的方法。

使用该方法可以设置 HTTP 响应头中的状态码、状态消息字符串和响应头信息。

在实际应用中,我们可以使用该方法来为客户端提供更加友好的 HTTP 响应头信息。