Home Tutorial Nodejs Node.js – Bài 11: Web Module

Node.js – Bài 11: Web Module

8 min read
0
224

Kiến trúc ứng dụng web

Một ứng dụng Web thường được chia thành bốn lớp –

  • Client  − Lớp này bao gồm các trình duyệt web, trình duyệt di động hoặc ứng dụng có thể thực hiện các yêu cầu HTTP đến máy chủ web.
  • Server  – Lớp này có máy chủ Web có thể chặn các yêu cầu do máy khách thực hiện và chuyển phản hồi cho chúng.
  • Business  – Lớp này chứa máy chủ ứng dụng được máy chủ web sử dụng để thực hiện quá trình xử lý cần thiết. Lớp này tương tác với lớp dữ liệu thông qua cơ sở dữ liệu hoặc một số chương trình bên ngoài.
  • Data  – Lớp này chứa cơ sở dữ liệu hoặc bất kỳ nguồn dữ liệu nào khác.

Tạo máy chủ web bằng nút

Node.js cung cấp một mô-đun http có thể được sử dụng để tạo ứng dụng khách HTTP của máy chủ. Sau đây là cấu trúc tối thiểu của máy chủ HTTP lắng nghe ở cổng 8081.

Tạo một tệp js có tên server.js −

Tập tin: server.js

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

// Create a server
http.createServer( function (request, response) {  
   // Parse the request containing file name
   var pathname = url.parse(request.url).pathname;
   
   // Print the name of the file for which request is made.
   console.log("Request for " + pathname + " received.");
   
   // Read the requested file content from file system
   fs.readFile(pathname.substr(1), function (err, data) {
      if (err) {
         console.log(err);
         
         // HTTP Status: 404 : NOT FOUND
         // Content Type: text/plain
         response.writeHead(404, {'Content-Type': 'text/html'});
      } else {	
         //Page found	  
         // HTTP Status: 200 : OK
         // Content Type: text/plain
         response.writeHead(200, {'Content-Type': 'text/html'});	
         
         // Write the content of the file to response body
         response.write(data.toString());		
      }
      
      // Send the response body 
      response.end();
   });   
}).listen(8081);

// Console will print the message
console.log('Server running at http://127.0.0.1:8081/');

Tiếp theo, hãy tạo tệp html sau có tên index.htm trong cùng thư mục mà bạn đã tạo server.js.

Tập tin: index.htm

<html>
   <head>
      <title>Sample Page</title>
   </head>
   
   <body>
      Hello World!
   </body>
</html>

Bây giờ chúng ta hãy chạy server.js để xem kết quả –

$ node server.js

Xác minh đầu ra.

Server running at http://127.0.0.1:8081/

Gửi yêu cầu tới máy chủ Node.js

Mở http://127.0.0.1:8081/index.htm trong bất kỳ trình duyệt nào để xem kết quả sau.

Ứng dụng máy chủ đầu tiên

Xác minh Đầu ra ở cuối máy chủ.

Server running at http://127.0.0.1:8081/
Request for /index.htm received.

Tạo ứng dụng khách Web bằng Node

Một máy khách web có thể được tạo bằng mô-đun http . Hãy kiểm tra ví dụ sau.

Tạo một tệp js có tên client.js −

Tập tin: client.js

var http = require('http');

// Options to be used by request 
var options = {
   host: 'localhost',
   port: '8081',
   path: '/index.htm'  
};

// Callback function is used to deal with response
var callback = function(response) {
   // Continuously update stream with data
   var body = '';
   response.on('data', function(data) {
      body += data;
   });
   
   response.on('end', function() {
      // Data received completely.
      console.log(body);
   });
}
// Make a request to the server
var req = http.request(options, callback);
req.end();

Bây giờ hãy chạy client.js từ một thiết bị đầu cuối lệnh khác ngoài server.js để xem kết quả –

$ node client.js

Xác minh đầu ra.

<html>
   <head>
      <title>Sample Page</title>
   </head>
   
   <body>
      Hello World!
   </body>
</html>

Xác minh Đầu ra ở cuối máy chủ.

Server running at http://127.0.0.1:8081/
Request for /index.htm received.
Load More Related Articles
Load More By quangvu
  • Node.js – Bài 13: API RESTful

    Kiến trúc REST là gì? REST là viết tắt của REpresentational State Transfer. REST là kiến ​…
  • Node.js – Bài 10: Global Objects

    Các đối tượng toàn cầu của Node.js có bản chất toàn cầu và chúng có sẵn trong tất cả các m…
  • Node.js – Bài 9: File System

    Nút triển khai Tệp I/O bằng cách sử dụng các trình bao bọc đơn giản xung quanh các chức nă…
Load More In Nodejs

Check Also

Tự làm web chatGPT đơn giản cho phép dùng nhiều OpenAI key

Trong thời đại công nghệ phát triển như hiện nay, chatbot đang dần trở thành một giải pháp…