El siguiente enfoque cubre cómo realizar la compresión con compresión Gzip en Node.js. Podemos usar el módulo de compresión para hacer compresión con compresión Gzip. Gzip es la compresión más utilizada, especialmente para las interacciones entre el servidor y el cliente.
La compresión ayuda a disminuir la cantidad de datos descargables en nuestra aplicación NodeJS y conduce a una mejora en el rendimiento de la aplicación. Este proceso de compresión puede reducir drásticamente el tamaño de la carga útil por encima del 70 %.
Los siguientes dos ejemplos cubren cómo la compresión es útil, ya que reduce el tamaño de la carga útil como se ve claramente en el ejemplo 2 en comparación con el ejemplo 1.
Ejemplo 1: Uso sin compresión:
Paso 1: Cree una aplicación NodeJS vacía con el siguiente comando:
mkdir Project cd Project npm init -y
Paso 2: Instale el módulo ExpressJS usando el siguiente comando:
npm i express --save
Paso 3: cree un archivo en el directorio raíz de su proyecto y nombre index.js y escriba el siguiente código.
index.js
const express = require('express'); const app = express(); // It will repeatedly the word 'I love GeeksforGeeks' const data = ('I love GeeksforGeeks').repeat(800) ; app.get('/', (req, res) => { // Send as 'text/html' format file res.send(data); }); // Server setup app.listen(8080, function () { console.log('Server listening on port 8080!'); });
Ejecute el archivo index.js con el siguiente comando:
node index.js
Abra el navegador y vaya a la URL http://localhost:8080/, sin compresión, la respuesta devuelta por el servidor pesará alrededor de 16 kB, como se muestra a continuación:
Ejemplo 2: Uso de compresión Gzip:
Agregue middleware de compresión en el archivo index.js de su aplicación NodeJS. Esto habilitará GZIP, lo que hace que sus respuestas HTTP sean más pequeñas.
Paso 1: Cree una aplicación NodeJS vacía con el siguiente comando:
mkdir Project cd Project npm init -y
Paso 2: Instale el módulo de compresión y ExpressJS usando el siguiente comando:
npm install compression --save npm install express --save
Paso 3: cree un archivo en el directorio raíz de su proyecto y nombre index.js y escriba el siguiente código.
index.js
// Initialize compression module const compression = require('compression'); const express = require('express'); const app = express(); // Compress all HTTP responses app.use(compression()); // It will repeatedly the word 'I love GeeksforGeeks' const data = ('I love GeeksforGeeks').repeat(800) ; app.get('/', (req, res) => { // Send as 'text/html' format file res.send(data); }); // Server setup app.listen(8080, function () { console.log('Server listening on port 8080!'); });
Ejecute el archivo index.js con el siguiente comando:
node index.js
Abra el navegador y vaya a la URL http://localhost:8080/. Ahora, si la compresión está activada, la respuesta devuelta por el servidor pesará alrededor de 371 bytes, como se muestra a continuación:
Entonces, el ejemplo anterior muestra que el uso del tamaño de respuesta de compresión se reduce drásticamente.