Latest web development tutorials

módulo Web Node.js

¿Qué es un servidor Web?

servidor Web se refiere en general al servidor del sitio reside en Internet se refiere a algún tipo de programa de ordenador, la funcionalidad básica de un servidor web es proporcionar información de servicio de navegación web. Sólo soporta el protocolo HTTP, formato de documento HTML y URL, y el navegador web del cliente con.

La mayoría de los servidores web de soporte de lenguaje de servidor de secuencias de comandos (PHP, Python, Ruby), etc., y obtener datos de la base de datos a través de un lenguaje de script, los resultados devueltos al navegador del cliente.

La mayoría de los principales del servidor Web Apache es tres, Nginx, IIS.


Arquitectura de Aplicaciones Web

  • Client - Cliente, generalmente se refiere al navegador, el navegador puede solicitar datos al servidor a través del protocolo HTTP.

  • Servidor - servidor, generalmente se refiere al servidor Web, el cliente puede recibir una solicitud, enviar una respuesta a los datos de los clientes.

  • Negocios - capa de negocio, a través de las aplicaciones de procesamiento de servidor Web, como interactuar con la base de datos, la lógica, la llamada a procedimientos externos.

  • De datos - la capa de datos, por lo general compuesto por la base de datos.


Crear un servidor Web mediante Nodo

Node.js ofrece módulo HTTP, HTTP módulo se utiliza principalmente para construir servidor HTTP y el cliente utiliza el servidor HTTP o función de cliente debe ser llamado módulo HTTP, el código es el siguiente:

var http = require('http');

La siguiente es una demostración de una arquitectura de servidor HTTP básica (utilizando el puerto 8081), crear el archivo server.js, el código es el siguiente:

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

A continuación, creamos un archivo index.htm en el directorio, de la siguiente manera:

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

server.js archivo Ejecutivo:

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

A continuación, ponemos la dirección en su navegador: http: //127.0.0.1: 8081 / index.htm, la pantalla como se muestra a continuación:

información de salida de la consola Ejecutivo server.js es el siguiente:

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

gif ejemplos demuestran


Uso Nodo Creación Web Client

Nodo Creación de clientes Web necesidad de introducir módulo HTTP, crear el archivo Client.js, el código es el siguiente:

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

Abrir una nueva terminal, ejecutar el archivo Client.js, los resultados de salida son los siguientes:

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

información de salida de la consola Ejecutivo server.js es el siguiente:

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

gif ejemplos demuestran