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

📅  最后修改于: 2023-12-03 15:33:09.485000             🧑  作者: Mango

Node.js Http2ServerResponse.write() 方法

在 Node.js HTTP/2 模块中,Http2ServerResponse.write() 方法用于将数据写入 HTTP/2 响应体中。本文将对该方法进行介绍。

语法

response.write(chunk[, encoding][, callback])

参数说明:

  • chunk:发送给客户端的数据块,可以是 Bufferstring 类型。
  • encoding(可选):指定数据块的编码方式,默认为 utf8
  • callback(可选):当数据块被成功写入时,调用该回调函数。
返回值

该方法返回一个布尔值,表示数据块是否被成功写入。

示例代码
const http2 = require('http2');
const fs = require('fs');

const server = http2.createSecureServer({
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.crt')
});

server.on('stream', (stream, headers) => {
  stream.respond({
    'content-type': 'text/html',
    ':status': 200
  });
  stream.write('<html><body>Hello World!</body></html>');
  stream.end();
});

server.listen(8443);

在上述示例代码中,我们使用 http2.createSecureServer() 创建了一个基于 TLS 的 HTTP/2 服务器,并通过 server.on('stream', callback) 方法监听客户端发来的流。

在回调函数中,我们调用 stream.respond() 方法设置了响应头和响应状态码,并通过 stream.write() 将响应体写入到客户端。最后,我们调用 stream.end() 结束流。

最终,客户端会收到如下响应:

HTTP/2 200 OK
content-type: text/html

<html><body>Hello World!</body></html>
总结

Http2ServerResponse.write() 方法是 Node.js HTTP/2 模块中用于将数据写入响应体的核心方法,要注意编码方式以及回调函数的使用。如果你需要构建一个基于 HTTP/2 的高效服务器,就一定离不开它的使用。