Pregunta

Tengo un servidor web incorporado que tiene un total de 2 Megas de espacio. Normalmente gzip los archivos para el beneficio de los clientes, pero esto nos ahorraría espacio en el servidor. Leí que puedes simplemente comprimir el archivo js y guardarlo en el servidor. Lo probé en IIS y no tuve suerte en absoluto. ¿Qué debo hacer exactamente en cada paso del proceso para que esto funcione?

Esto es lo que imagino que será:

  1. gzip foo.js
  2. cambiar el enlace en html para que apunte a foo.js.gz en lugar de solo .js
  3. ¿Agregar algún tipo de encabezado a la respuesta?

Gracias por cualquier ayuda.

-fREW

EDIT : mi servidor web no puede hacer nada sobre la marcha. No es Apache o IIS; Es un binario en un procesador ZiLog. Sé que puedes comprimir corrientes; Acabo de escuchar que también puedes comprimir los archivos una vez y dejarlos comprimidos.

¿Fue útil?

Solución

Como otros han mencionado, mod_deflate lo hace por usted, pero supongo que debe hacerlo manualmente ya que es un entorno incrustado.

En primer lugar, debe dejar el nombre del archivo foo.js después de descomprimirlo.

No debe cambiar nada en sus archivos html. Dado que el archivo sigue siendo foo.js

En el encabezado de respuesta de (the gzipped) foo.js envía el encabezado

Content-Encoding: gzip

Esto debería hacer el truco. El cliente solicita foo.js y recibe Content-Encoding: gzip seguido del archivo comprimido, que descomprime automáticamente antes de analizar.

Por supuesto, esto supone que está seguro de que el cliente entiende la codificación gzip, si no está seguro, solo debe enviar datos comprimidos cuando el encabezado de la solicitud contenga

Accept-Encoding: gzip

Otros consejos

Usar la compresión gzip en un servidor web generalmente significa comprimir la salida de este para conservar su ancho de banda, no exactamente lo que tiene en mente.

Mira esta descripción o Este ejemplo

Si usa Apache, usa mod_deflate , y se comprime sobre la marcha.

Creo que te estás confundiendo al pensar que si gzip algo tiene que ser un archivo. En cambio, piense en cómo un archivo es solo un flujo de datos, y ese flujo de datos puede comprimirse aquí, transmitirse y descomprimirse allí sin que el cliente tenga que pensarlo siquiera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top