前言
在Node.js官方上,不僅提供了完整且豐富的文件資源,他們還有官方部落格,會固定分享新功能、版本更新,甚至安全漏洞修補的細節。另外在 Node.js文件(v24.6.0) ,除了基本的 API 說明,還整理了許多內建模組的使用指南 。 而今天要跟大家分享的,就是 Node.js 中的 HTTP 模組 - 這是開發 Web 服務最常用、也最實用的模組之一。
建立 Web Server
var http = require('http');
http.createServer(function(request, response){
/*
純文字:'text/plain',
HTML:'text/html',
JSON物件:'json/application'
*/
response.writeHead(200, {"Content-Type": "text/plain"}); //表頭設定
response.write("Hello Node.js World!"); //內容
response.end(); // 結束這回合
}).listen(8080);
createServer: 用來 建立一個 Web Server 的方法
request(可自訂):當使用者拜訪至網站,發送到伺服器的請求 (包含使用者詳細資訊:網址、何種瀏覽器…)
response(可自訂):伺服器收到資料後,給予使用者回應
listen:監聽(port),localhost(相對IP:127.0.0.1)內部(PC)模擬伺服器
:port
該伺服器某個軟體佔領一個port,1個port代表一個應用程式使用,且不可同時開啟。

常見的Port
執行伺服器
node app.js
# 沒跳錯誤訊息就是正確的

畫面成功
補充
http模組 為什麼可以直接哪來用?
💡 有些人會好奇,為什麼我的資料夾裡,明明沒有安裝http模組
,卻依然可以直接使用? 這是因為 http
是 Node.js的內建模組,官方已預設準備好了,不需額外安裝。只要有安裝Node.js,就可在城市直接載入使用。
查看伺服器回應的網頁屬性
Chrome dev > Network (若已進入請重刷)

查看伺服器回應的網頁屬性
後端看起來空空的,也不知道有沒有執行
我們可以在createServer
裡面加入console.log
,每次有人拜訪就會印出訊息,確認伺服器真的在運作。
你可能會在測試中,發現拜訪時 被印兩次,但不用擔心它並不影響操作或測試網站:
- 第一次是我們用瀏覽器輸入網址進入的請求
- 第二次其實是瀏覽器去抓網頁的 favicon(網站小圖示)
