http.createServer([options][, requestListener])
options<Object>connectionsCheckingInterval:设置以毫秒为单位的时间间隔,用于检查不完整请求中的请求和头部超时。 默认值:30000。headersTimeout:设置从客户端接收完整 HTTP 头部的超时时间,单位为毫秒。更多信息请参见server.headersTimeout。默认值:60000。highWaterMark<number> 可选择覆盖所有socket的readableHighWaterMark和writableHighWaterMark。这会影响IncomingMessage和ServerResponse的highWaterMark属性。默认值: 参见stream.getDefaultHighWaterMark()。insecureHTTPParser<boolean> 如果设置为true,将使用启用宽松标志的 HTTP 解析器。应尽量避免使用不安全的解析器。更多信息请参见--insecure-http-parser。默认值:false。IncomingMessage<http.IncomingMessage> 指定要使用的IncomingMessage类。对于扩展原始的IncomingMessage非常有用。默认值:IncomingMessage.joinDuplicateHeaders<boolean> 如果设置为true,此选项允许将请求中多个头的字段行值使用逗号(,)连接,而不是丢弃重复项。有关更多信息,请参阅message.headers。默认值:false。- 'keepAlive' <boolean> 如果设置为“true”,则在接收到新入连接后立即启用该套接字的保持活功能,类似于['socket.setKeepAlive([enable][, initialDelay])']['socket.setKeepAlive(enable, initialDelay)']。 默认: 'false'。
keepAliveInitialDelay<number> 如果设置为正数,它会设置在空闲套接字上发送第一个保活探测之前的初始延迟。 默认值:0。keepAliveTimeout:服务器在完成最后一次响应写入后,需要等待额外传入数据的空闲时间(以毫秒为单位),超时后连接将被关闭。有关更多信息,请参阅server.keepAliveTimeout。默认值:5000。maxHeaderSize<number> 可选择覆盖此服务器接收请求时--max-http-header-size的值,即请求头的最大长度(以字节为单位)。默认值: 16384(16 KiB)。noDelay<boolean> 如果设置为true,在收到新的传入连接后会立即禁用 Nagle 算法。默认值:true。requestTimeout:设置从客户端接收整个请求的超时时间,单位为毫秒。更多信息请参见server.requestTimeout。默认值:300000。requireHostHeader<boolean> 如果设置为true,它会强制服务器对任何缺少 Host 头的 HTTP/1.1 请求消息返回 400(错误请求)状态码(如规范所规定)。 默认值:true。ServerResponse<http.ServerResponse> 指定要使用的ServerResponse类。对于扩展原始的ServerResponse非常有用。默认值:ServerResponse。shouldUpgradeCallback(request)<Function> 一个回调函数,它接收传入的请求并返回一个布尔值,用于控制应接受哪些升级尝试。被接受的升级将触发'upgrade'事件(如果没有注册监听器,其套接字将被销毁),而被拒绝的升级将像任何非升级请求一样触发'request'事件。此选项默认值为() => server.listenerCount('upgrade') > 0。uniqueHeaders<Array> 一份只应发送一次的响应头列表。如果头的值是数组,数组项将使用;连接。rejectNonStandardBodyWrites<boolean> 如果设置为true,在向没有正文的 HTTP 响应写入内容时将抛出错误。 默认值:false。optimizeEmptyRequests<boolean> 如果设置为true,没有Content-Length或Transfer-Encoding头(表示没有请求体)的请求将会使用已结束的请求体流进行初始化,因此它们永远不会触发任何流事件(如'data'或'end')。你可以使用req.readableEnded来检测这种情况。默认值:false。
requestListener<Function>- 返回值:<http.Server>
返回一个新的 http.Server 实例。
🌐 Returns a new instance of http.Server.
requestListener 是一个函数,会自动添加到 'request' 事件中。
🌐 The requestListener is a function which is automatically
added to the 'request' event.
import http from '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((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
data: 'Hello World!',
}));
});
server.listen(8000);import http from '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);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);