Node.js學習筆記(十六、Express 框架)">Node.js學習筆記(十六、Express 框架)
681
2025-04-01
其實在前面,已經多次應用過Node.js Web模塊,比如路由,由index.js提供一個接口去調用相應的路由模塊和Web模塊。
Web服務器一般指網站服務器,是指駐留于因特網上某種類型計算機的程序,Web服務器的基本功能就是提供Web信息瀏覽服務。它只需支持HTTP協議、HTML文檔格式及URL,與客戶端的網絡瀏覽器配合。
大多數 web 服務器都支持服務端的腳本語言(php、python、ruby)等,并通過腳本語言從數據庫獲取數據,將結果返回給客戶端瀏覽器。
目前最主流的三個Web服務器是Apache、Nginx、IIS。
web架構分為客戶端、服務層、業務層、數據層等層級。
.Client:客戶端,B/S架構下一般指的是瀏覽器,瀏覽器可以通過 HTTP 協議向服務器請求數據。
.Server:服務端,一般指 Web 服務器,可以接收客戶端請求,并向客戶端發送響應數據
.Business:業務層, 通過 Web 服務器處理應用程序,如與s數據層交互,邏輯運算,調用外部程序等。
.Data: 數據層,一般由數據庫和數據持久化模塊組成。
創建web服務器的核心對象是http模塊,用 HTTP 服務器或客戶端功能必須調用 http 模塊。
var http = require('http');
1
實例,這是一個基本的http服務架構:
webServer.js:
var http = require('http'); var fs = require('fs'); var url = require('url'); // 創建服務器 http.createServer( function (request, response) { // 解析請求,包括文件名 var pathname = url.parse(request.url).pathname; // 輸出請求的文件名 console.log("Request for " + pathname + " received."); // 從文件系統中讀取請求的文件內容 fs.readFile(pathname.substr(1), function (err, data) { if (err) { console.log(err); // HTTP 狀態碼: 404 : NOT FOUND // Content Type: text/html response.writeHead(404, {'Content-Type': 'text/html'}); }else{ // HTTP 狀態碼: 200 : OK // Content Type: text/html response.writeHead(200, {'Content-Type': 'text/html'}); // 響應文件內容 response.write(data.toString()); } // 發送響應數據 response.end(); }); }).listen(8080); // 控制臺會輸出以下信息 console.log('Server running at http://127.0.0.1:8080/');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
index.html:
1
2
3
4
5
6
7
8
9
10
運行webServer.js:
訪問地址:http://127.0.0.1:8080/index.html
報了點錯,好像是圖標的問題。
實例,client.js:
var http = require('http'); // 用于請求的選項 var options = { host: 'localhost', port: '8080', path: '/index.html' }; // 處理響應的回調函數 var callback = function(response){ // 不斷更新數據 var body = ''; response.on('data', function(data) { body += data; }); response.on('end', function() { // 數據接收完成 console.log(body); }); } // 向服務端發送請求 var req = http.request(options, callback); req.end();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
服務端運行的前提下,另外用一個終端運行cllient.js:
服務端結果:
參考:
【1】、https://www.runoob.com/nodejs/nodejs-web-module.html
【2】、https://www.w3cschool.cn/nodejs/nodejs-web-module.html
JavaScript Node.js web前端
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。