como se explica en la Enciclopedia Baidu?
El Protocolo de transferencia de hipertexto (HTTP) es un protocolo de solicitud-respuesta simple que generalmente se ejecuta sobre TCP. Especifica qué tipo de mensajes puede enviar el cliente al servidor y qué tipo de respuesta obtiene. Los encabezados de los mensajes de solicitud y respuesta se dan en formato ASCII [9] el contenido del mensaje tiene un formato similar a MIME. Este modelo simple fue responsable del éxito inicial de la Web porque hizo que el desarrollo y la implementación fueran muy sencillos.
Si ha aprendido los conceptos básicos de JavaSE, debe estar familiarizado con la programación de redes.
Por supuesto, está bien si no lo ha hecho. Escuche al autor concienzudo y déjeme decirle:
1.1 Protocolo de comunicación de red
. Las redes se han convertido en la rutina diaria de las personas. Las necesidades de la vida, ya sean correos electrónicos, mensajería instantánea con amigos, entretenimiento de videos cortos ... Se puede decir que podemos conectar varias computadoras a través de redes informáticas.
Las redes informáticas conectan múltiples dispositivos informáticos en una red a través de medios de transmisión, instalaciones de comunicación y protocolos de comunicación de red, logrando compartir recursos y transmitir datos.
Sin embargo, cuando las computadoras de la misma red se conectan y comunican, deben cumplir con ciertas reglas. En las redes de computadoras, estas reglas de conexión y comunicación se denominan protocolos de comunicación de red:
El protocolo http del que estamos hablando aquí se implementa en base a tcp. Un escenario de aplicación http común es ingresar una cadena de direcciones en el navegador y luego devolver una página web.
1.2 Dirección IP y número de puerto
Para permitir que las computadoras en la red se comuniquen, a cada computadora se le debe asignar un número de identificación. Este número de identificación se puede utilizar para especificar la computadora que recibe datos o la computadora que envía datos.
Verifique la dirección IP de su computadora en la LAN. Presione WIN+R en la computadora con Windows e ingrese cmd para ingresar rápidamente a la consola
ipconfig.
Puede conectarse a la computadora especificada a través de la dirección IP, pero si desea acceder a una de sus aplicaciones en la computadora de destino, también debe especificar el número de puerto.
Por ejemplo, MySQL 3306, TomCat 8080
Node.js proporciona el módulo http. El módulo http se utiliza principalmente para crear servidores y clientes HTTP. Para utilizar las funciones del servidor o cliente HTTP, debe llamar al módulo http.
2.1, introducción al proceso de acumulación gruesa (introducción detallada, introducción detallada de los métodos de objeto utilizados, todo el proceso de construcción del servicio http)
:
primero use el método createServer () para registrar el objeto del servidor
y luego use este objeto del servidor para llamar a on ( ) método para monitorear y procesar eventos
Llame al método listening() para vincular el número de puerto
para comenzar:
cualquier aplicación de servicio de red siempre crea un objeto de servicio primero. En nodeJS podemos usar el método createServer para lograr esto,
// Primero importe el módulo http const http = require('http'); // Crear objeto de servicio http const server = http.createServer();
El objeto de servidor devuelto por el constructor createServer es un emisor de eventos. Aquí, el objeto de servidor creado se utiliza para procesarlo utilizando su propio método on(). tratamiento. De esta forma, siempre que se envíe una solicitud http, podremos procesarla.
// Primero importa el módulo http const http = require('http'); //Crear objeto de servicio http const server = http.createServer(); // Vincular evento de escucha server.on('solicitud', (solicitud, respuesta) => { //¡Cree siempre que cosas buenas están por suceder! });
introdujimos (dirección IP + puerto) antes Cuando nuestra computadora está conectada a Internet, el enrutador nos asignará automáticamente la dirección IP a través de DHCP, pero si queremos acceder al programa especificado en la computadora, debemos hacerlo. También tiene un número de puerto.
Para acceder al programa especificado en la computadora, también necesitamos usar el método listen(). Solo necesita usar server.listen() para pasar el número de puerto como parámetro al método de escucha como puerto de escucha.
// Primero importa el módulo http const http = require('http'); //Crear objeto de servicio http const server = http.createServer(); // Vincular evento de escucha server.on('solicitud', (req, res) => { // El contenido de esta función es solo una pequeña llamada al parámetro res para que el programa se ejecute de manera más comprensible // Escribe un encabezado de respuesta (el navegador no lo reconocerá si no lo escribes) res.writeHead(200,{'Content-Type':'text/html;charset=UTF8'}); //Enviar datos de respuesta res.end("<h1>Bienvenido a usar node.js para crear servicios</h1>"); }); //Vincular número de puerto server.listen(8888); //La consola imprime la dirección para facilitar la depuración rápida console.log('Su servicio http se inicia en http://127.0.0.1:8888/')
;
La demostración del código anterior es muy detallada, pero en el desarrollo real, no se recomienda escribirla paso a paso.
A continuación, siga al autor y sigamos optimizando el código para hacerlo más potente y conciso.
2.2, cabello fino (el minimalismo es el rey), ¡elegante! ¡Qué elegante!)
El proceso de registrar objetos paso a paso es demasiado engorroso. Aquí utilizamos un método pequeño y hermoso para implementar una interfaz http:
const http = require('http'. ); servidor constante = http.createServer(función(solicitud,res){ // Siempre crea que están por suceder cosas buenas}).listen(8080);
Siempre que una solicitud HTTP llega al servidor, la función pasada en createServer se ejecuta automáticamente. Por eso, esta función también se denomina función de procesamiento de solicitudes. Podemos pasar directamente la función de devolución de llamada de escucha de eventos y luego hacer clic en el método listening () para vincular directamente el número de puerto.
Pero esto no es lo suficientemente bueno. Sí, puede ser mejor. Modifique la función de devolución de llamada anterior con una función de flecha para hacerla más hermosa.
const http = requerir('http'); servidor constante = http.createServer((req,res) => { //Cree siempre que están por suceder cosas buenas}).listen(8080);
Por supuesto,
esto
no es lo suficientemente bueno;
¡Puede ser mejor!
Directamente createServer() resuelve todo:
var http = require('http') // Crear servidor http.createServer( (req, res) =>{ //Cree siempre que están por enviar cosas buenas}).listen(8888);
Al ver esto, felicitaciones por comenzar con el módulo http de nodeJS. En este momento, domina las siguientes habilidades:
Continúe siguiendo al autor. A continuación, aprenderemos a