在Node環境下創建一個基本的web服務器,可以監聽客戶端的http請求,實現類似Nginx、Apache等服務器的功能。
環境:windows 10,Node.js v8.2.1
一、創建server.js文件
例如在工作目錄下新建文件server.js,並寫入如下代碼:
上述簡單代碼require了Node自帶的http模塊,並調用其 createServer() 方法創建了一個基本的HTTP服務器。
var http = require('http');//require指令載入http模塊
//使用http.createServer()方法創建一個服務器,並監聽1337端口
http.createServer(function (request, response) {
// 發送 HTTP 頭部
// HTTP 狀態值: 200 : OK
// 內容類型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 發送響應數據 "Hello World"
response.end('Hello World\n');
}).listen(1337);
// 終端打印如下信息
console.log('Server running at http://127.0.0.1:1337/');
createServer()中的回調函數接受兩個參數:請求體request和響應體response。request用來獲取請求相關信息,如請求的url地址、請求類型是post還是get。response告訴服務器給這個請求相應的內容,如此例中返回一個"Hello World"字符串,返回的頭部爲Content-Type(文本內容),狀態碼200(成功)。在監聽到127.0.0.1的1337端口有請求傳來時,Node就會調用這個回調函數。
這樣就完成了一個基本的HTTP服務器的搭建。
二、運行服務器
在server.js所在目錄下輸入:
node server.js
顯示
Server running at http://127.0.0.1:1337/
在瀏覽器中打開127.0.0.1:1337可看到輸出的字符串Hello World
參考:http://www.runoob.com/nodejs/nodejs-http-server.html