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);