Latest web development tutorials

Node.js Moduł Web

Co to jest serwer WWW?

Serwer WWW na ogół odnosi się do serwera znajduje się na stronie Internet odnosi się do pewnego rodzaju programu komputerowego, podstawową funkcjonalność serwera WWW jest dostarczanie informacji o usłudze przeglądania sieci Web. Obsługuje tylko protokół HTTP, format dokumentu HTML i URL oraz przeglądarkę internetową klienta z.

Większość serwerów WWW wsparcia języka skryptowego po stronie serwera (PHP, Python, Ruby), etc., i uzyskać dane z bazy danych za pomocą języka skryptowego, wyniki zwracane do przeglądarki klienta.

Trzy najbardziej nurtu serwer WWW jest Apache, Nginx, IIS.


Architektura aplikacji internetowych

  • Klient - Klient, ogólnie odnosi się do przeglądarki, przeglądarka może żądać danych do serwera za pośrednictwem protokołu HTTP.

  • Server - serwer, na ogół odnosi się do serwera WWW, klient może otrzymać żądanie, wysłać odpowiedź do danych klienta.

  • Business - warstwy biznesowej, poprzez rozpatrywanie wniosków serwerów WWW, takich jak współdziałać z bazy danych, logiki, wywołanie procedur zewnętrznych.

  • Danych - warstwa danych, na ogół składa się z bazy danych.


Tworzenie serwera WWW za pomocą węzła

Node.js zapewnia moduł http, moduł http jest wykorzystywany głównie do tworzenia serwera HTTP i klienta przy użyciu funkcji serwera HTTP lub klient musi wywołać kod modułu HTTP jest następująca:

var http = require('http');

Poniżej znajduje się demonstracja architektury podstawowy serwer HTTP (korzysta z portu 8081), tworzyć server.js pliku, kod jest w następujący sposób:

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/');

Następnie tworzymy plik index.htm w katalogu, w następujący sposób:

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

Wykonawczy plik server.js:

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

Następnie umieścić adres w przeglądarce: http: //127.0.0.1: 8081 / index.htm, wyświetlacz, jak pokazano poniżej:

Informacje wyjście konsoli wykonawczy server.js przedstawia się następująco:

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

Przykłady pokazują, gif


Korzystanie Węzeł Tworzenie Web Client

Węzeł Tworzenie klientów sieci trzeba wprowadzić moduł http utwórz client.js pliku, kod jest w następujący sposób:

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();

Otwiera nowy terminal wykonuje client.js plik wyjścia wyniki przedstawiają się następująco:

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

Informacje wyjście konsoli wykonawczy server.js przedstawia się następująco:

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

Przykłady pokazują, gif