選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Node.js HTTP 模組


內建的 HTTP 模組

Node.js 有一個內建的模組叫做 HTTP,它允許 Node.js 透過超文字傳輸協議 (HTTP) 傳輸資料。

要包含 HTTP 模組,請使用 require() 方法

var http = require('http');

Node.js 作為 Web 伺服器

HTTP 模組可以建立一個 HTTP 伺服器,監聽伺服器埠並向客戶端返回響應。

使用 createServer() 方法建立 HTTP 伺服器

示例

var http = require('http');

// 建立一個伺服器物件
http.createServer(function (req, res) {
  res.write('Hello World!'); // 向客戶端寫入響應
  res.end(); // 結束響應
}).listen(8080); // 伺服器物件監聽 8080 埠
執行示例 »

傳遞給 http.createServer() 方法的函式將在有人嘗試訪問 8080 埠的計算機時執行。

將上面的程式碼儲存在一個名為“demo_http.js”的檔案中,然後執行它

執行 demo_http.js

C:\Users\Your Name>node demo_http.js

如果您按照相同的步驟在您的計算機上操作,您將看到與示例相同的結果: https://:8080



新增 HTTP 頭

如果 HTTP 伺服器的響應應該被顯示為 HTML,您應該包含一個帶有正確 Content-Type 的 HTTP 頭

示例

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World!');
  res.end();
}).listen(8080);
執行示例 »

res.writeHead() 方法的第一個引數是狀態碼,200 表示一切正常,第二個引數是一個包含響應頭的物件。


讀取查詢字串

傳遞給 http.createServer() 的函式有一個 req 引數,它代表客戶端的請求,是一個物件(http.IncomingMessage 物件)。

該物件有一個名為“url”的屬性,其中包含域名後面的 URL 部分

demo_http_url.js

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(req.url);
  res.end();
}).listen(8080);

將上面的程式碼儲存在一個名為“demo_http_url.js”的檔案中,然後執行它

執行 demo_http_url.js

C:\Users\Your Name>node demo_http_url.js

如果您在計算機上按照相同的步驟操作,當您開啟這兩個地址時,您應該會看到兩個不同的結果

https://:8080/summer

將產生此結果

/summer
執行示例 »

https://:8080/winter

將產生此結果

/winter
執行示例 »

分割查詢字串

有內建模組可以輕鬆地將查詢字串分割成易讀的部分,例如 URL 模組。

示例

將查詢字串分割成易讀的部分

var http = require('http');
var url = require('url');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  var q = url.parse(req.url, true).query;
  var txt = q.year + " " + q.month;
  res.end(txt);
}).listen(8080);

將上面的程式碼儲存在一個名為“demo_querystring.js”的檔案中,然後執行它

執行 demo_querystring.js

C:\Users\Your Name>node demo_querystring.js

地址

https://:8080/?year=2017&month=July

將產生此結果

2017 July
執行示例 »

Node.js URL 模組 章節中閱讀更多關於 URL 模組的資訊。


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援