如何使用Node.js構建一個HTTP伺服器

以下是我們在Node.js介紹中使用的HTTP網絡伺服器,作為Node的Hello World應用程式。

const http = require('http')

const hostname = 'localhost'
const port = 3000

const server = http.createServer((req, res) => {
    res.statusCode = 200
    res.setHeader('Content-Type', 'text/plain')
    res.end('Hello World\n')
})

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`)
})

讓我們簡單分析一下。我們導入了http模組

我們使用這個模組來創建一個HTTP伺服器。

伺服器被設定為在指定的主機名localhost上,監聽3000端口。當伺服器準備就緒時,調用listen回調函數。

我們傳遞的回調函數是在每次收到請求時都會執行的函數。每當收到新的請求時,都會調用request事件,並提供兩個對象:一個請求(http.IncomingMessage對象)和一個響應(http.ServerResponse對象)。

request提供了請求的詳細信息。通過它,我們可以訪問請求標頭和請求數據。

response用於填充我們將返回給客戶端的數據。

在這個例子中,我們通過res.statusCode = 200將statusCode屬性設置為200,表示請求成功。

我們還設置了Content-Type標頭:

res.setHeader('Content-Type', 'text/plain')

並且我們通過將內容作為end()方法的參數來關閉響應:

res.end('Hello World\n')