Node.js 中如何使用網絡模塊來构建 HTTP 服務器?
Node.js 是一個基於 JavaScript 的開源、跨平台的 JavaScript 環境,可以用於開發服務器端應用程序。它使用了一個事件驅動、非阻塞 I/O 模型,使其輕量又高效。Node.js 的網絡模塊可以讓開發者快速構建 HTTP 服務器,並提供了一個簡單的 API 來處理 HTTP 請求和回應。
Node.js 網絡模塊的基本用法
Node.js 的網絡模塊提供了一個 createServer() 方法,可以用於創建一個 HTTP 服務器,並接受一個回調函數作為參數。該回調函數接受兩個參數:一個 request 對象,用於接收客戶端請求,另一個 response 對象,用於向客戶端發送回應。
const http = require('http'); const server = http.createServer((request, response) => { // 在此處處理請求和回應 }); server.listen(3000);
上面的程式碼創建了一個 HTTP 服務器,並監聽 3000 端口。當客戶端發送請求時,服務器就會調用回調函數,並將 request 對象和 response 對象作為參數傳遞給該函數。
Node.js 網絡模塊的高級用法
Node.js 的網絡模塊還提供了一個 createServer() 方法的重載版本,可以接受一個物件作為參數,該物件可以用於設置服務器的一些參數,例如服務器的監聽端口、服務器的請求處理函數等。
const http = require('http'); const server = http.createServer({ port: 3000, host: 'localhost', handleRequest: (request, response) => { // 在此處處理請求和回應 } }); server.listen();
上面的程式碼創建了一個 HTTP 服務器,並監聽 3000 端口,並指定了請求處理函數。當客戶端發送請求時,服務器就會調用請求處理函數,並將 request 對象和 response 對象作為參數傳遞給該函數。
總結
Node.js 的網絡模塊提供了一個簡單的 API,可以讓開發者快速構建 HTTP 服務器,並提供了一個簡單的 API 來處理 HTTP 請求和回應。Node.js 的網絡模塊還提供了一個 createServer() 方法的重載版本,可以接受一個物件作為參數,該物件可以用於設置服務器的一些參數,例如服務器的監聽端口、服務器的請求處理函數等。
更多資源
如果你想了解更多關於 Node.js 網絡模塊的知識,可以參考以下資源: