當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。