Latest web development tutorials

Modul Web Node.js

Apa yang dimaksud dengan server Web?

Web server umumnya mengacu ke server situs berada di Internet mengacu pada beberapa jenis program komputer, fungsi dasar dari sebuah server web adalah untuk memberikan informasi layanan browsing web. Ini hanya mendukung protokol HTTP, format dokumen HTML dan URL, dan web browser klien dengan.

Kebanyakan server web mendukung bahasa server-side scripting (php, python, ruby), dll, dan mendapatkan data dari database melalui bahasa skrip, hasilnya dikembalikan ke browser klien.

Tiga yang paling utama Web server Apache, Nginx, IIS.


Aplikasi web Arsitektur

  • Client - client, umumnya mengacu pada browser, browser dapat meminta data ke server melalui protokol HTTP.

  • Server - Server, umumnya mengacu ke server Web, klien dapat menerima permintaan, mengirim tanggapan terhadap data klien.

  • Bisnis - lapisan bisnis, melalui aplikasi pengolahan server Web, seperti berinteraksi dengan database, logika, memanggil prosedur eksternal.

  • Data - lapisan data, umumnya disusun oleh database.


Buat Web server menggunakan Node

Node.js menyediakan modul http, modul http terutama digunakan untuk membangun sebuah server HTTP dan klien yang menggunakan server HTTP atau fungsi klien harus disebut modul http, kode tersebut adalah sebagai berikut:

var http = require('http');

Berikut ini adalah demonstrasi dari arsitektur dasar HTTP server (menggunakan port 8081), membuat file server.js, kode tersebut adalah sebagai berikut:

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/plain
         response.writeHead(404, {'Content-Type': 'text/html'});
      }else{	         
         // HTTP 状态码: 200 : OK
         // Content Type: text/plain
         response.writeHead(200, {'Content-Type': 'text/html'});	
         
         // 响应文件内容
         response.write(data.toString());		
      }
      //  发送响应数据
      response.end();
   });   
}).listen(8081);

// 控制台会输出以下信息
console.log('Server running at http://127.0.0.1:8081/');

Selanjutnya kita membuat file index.htm dalam direktori, sebagai berikut:

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

Executive berkas server.js:

$ node server.js
Server running at http://127.0.0.1:8081/

Kemudian kami menempatkan alamat di browser Anda: http: //127.0.0.1: 8081 / index.htm, tampilan seperti berikut:

Executive server.js informasi konsol keluaran adalah sebagai berikut:

Server running at http://127.0.0.1:8081/
Request for /index.htm received.     #  客户端请求信息

contoh gif menunjukkan


Gunakan Node Membuat Web Client

Node Membuat klien Web perlu memperkenalkan modul http, membuat file client.js, kode tersebut adalah sebagai berikut:

var http = require('http');

// 用于请求的选项
var options = {
   host: 'localhost',
   port: '8081',
   path: '/index.htm'  
};

// 处理响应的回调函数
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();

Buka terminal baru, mengeksekusi file client.js, hasil output adalah sebagai berikut:

$ node client.js
<html>
<head>
<title>Sample Page</title>
</head>
<body>
Hello World!
</body>
</html>

Executive server.js informasi konsol keluaran adalah sebagai berikut:

Server running at http://127.0.0.1:8081/
Request for /index.htm received.   # 客户端请求信息

contoh gif menunjukkan