当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Node.js http.createServer([options][, requestListener])用法及代码示例

http.createServer([options][, requestListener])

历史
版本变化
v18.0.0

现在支持requestTimeoutheadersTimeoutkeepAliveTimeoutconnectionsCheckingInterval

v18.0.0

noDelay 选项现在默认为 true

v17.7.0

现在支持 noDelaykeepAlivekeepAliveInitialDelay 选项。

v13.3.0

现在支持maxHeaderSize 选项。

v13.8.0、v12.15.0、v10.19.0

现在支持insecureHTTPParser 选项。

v9.6.0、v8.12.0

现在支持 options 参数。

v0.1.13

添加于:v0.1.13

  • options <Object>

    • IncomingMessage <http.IncomingMessage> 指定要使用的IncomingMessage 类。用于扩展原始 IncomingMessage默认: IncomingMessage
    • ServerResponse <http.ServerResponse> 指定要使用的ServerResponse 类。用于扩展原始 ServerResponse默认: ServerResponse
    • requestTimeout :以毫秒为单位设置接收来自客户端的整个请求的超时值。有关详细信息,请参阅 server.requestTimeout 默认: 300000
    • headersTimeout :设置从客户端接收完整 HTTP 标头的超时值(以毫秒为单位)。有关详细信息,请参阅 server.headersTimeout 默认: 60000
    • keepAliveTimeout :服务器在完成写入最后一个响应之后,在销毁套接字之前需要等待额外传入数据的不活动毫秒数。有关详细信息,请参阅 server.keepAliveTimeout 默认: 5000
    • connectionsCheckingInterval :以毫秒为单位设置间隔值,以检查不完整请求中的请求和标头超时。 默认: 30000
    • insecureHTTPParser <boolean> 使用不安全的 HTTP 解析器,在 true 时接受无效的 HTTP 标头。应避免使用不安全的解析器。有关详细信息,请参阅 --insecure-http-parser 默认: false
    • maxHeaderSize <number> 可选地覆盖此服务器接收的请求的 --max-http-header-size 的值,即请求标头的最大长度(以字节为单位)。 默认: 16384 (16 KiB)。
    • noDelay <boolean> 如果设置为 true ,它会在收到新的传入连接后立即禁用 Nagle 算法。 默认: true
    • keepAlive <boolean> 如果设置为 true ,它会在收到新的传入连接后立即在套接字上启用 keep-alive 函数,类似于 [ socket.setKeepAlive([enable][, initialDelay]) ][ socket.setKeepAlive(enable, initialDelay) ] 中所做的事情。 默认: false
    • keepAliveInitialDelay <number> 如果设置为正数,它会设置在空闲套接字上发送第一个保活探测之前的初始延迟。 默认: 0
  • requestListener <Function>

  • 返回: <http.Server>

返回 http.Server 的新实例。

requestListener 是自动添加到 'request' 事件的函数。

const http = require('node:http');

// Create a local server to receive data from
const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'application/json' });
  res.end(JSON.stringify({
    data: 'Hello World!'
  }));
});

server.listen(8000);
const http = require('node:http');

// Create a local server to receive data from
const server = http.createServer();

// Listen to the request event
server.on('request', (request, res) => {
  res.writeHead(200, { 'Content-Type': 'application/json' });
  res.end(JSON.stringify({
    data: 'Hello World!'
  }));
});

server.listen(8000);

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 http.createServer([options][, requestListener])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。