Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

400
Visualizações
¿Por qué la obtención de un archivo comprimido con gzip no funciona en localhost (con Javascript)?

Estoy completamente confundido por gzipping...

Situación:

  1. Tengo un archivo json con 2mb que me gustaría gzip.
  2. Debería funcionar en el servidor FTP básico y económico que mi cliente tiene/usa
  3. Básicamente, el archivo nunca cambia, por lo que me gustaría precomprimirlo y no hacerlo dinámicamente (también con respecto a 2.)

Al principio pensé que necesitaba una biblioteca como Pako , pero luego leí que los navegadores la admiten de forma nativa .

Lo probé con el siguiente ejemplo:

ejemplo.json

 { "this-is-a": "simple-json" }

ejemplo.json.gz (creado con zlib )

 1f8b 0800 0000 0000 0013 abe6 5200 02a5 928c cc62 5d20 4a54 b252 502a cecc 2dc8 49d5 cd2a cecf 53e2 aa05 00f2 869a 6022 0000 00

índice.html

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> </head> <body> <script> fetchGzippedData('./example.json.gz') function fetchGzippedData(url){ fetch(url).then(function (response) { return response.json() }) .then(function (json) { console.log(json); }) .catch(function(err) { console.error('Error loading file') }); } </script> </body> </html>

Resultado

Lo extraño es que no funciona en localhost (usando el servicio o con la vista previa de Astro ). Tampoco funciona en mi servidor personal, pero sí en el servidor de mi cliente.

Así que supongo que tiene que ver con la configuración del servidor (con la que no tengo experiencia)... pero ¿por qué no funciona en localhost?

Relacionado:

  • JavaScript comprimido con Gzip no se sirve correctamente
  • Los archivos JavaScript GZipped referenciados no funcionan
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Ok, finalmente lo descubrí.

Falla porque la codificación de contenido del encabezado de respuesta del archivo .gz es incorrecta o falta.
(Esta información se puede ver para el archivo respectivo en la pestaña Red en las herramientas de depuración del navegador).

Tiene que estar configurado en Content-Encoding : gzip

Una vez que es correcto, puede buscar y analizar el archivo json como si no estuviera comprimido con gzip.

Para el servicio de servidor de sitio estático que estoy usando, puede establecer opciones a través de un servicio.json :
(Pero también vi información similar para Apache )

 { "headers": [ { "source" : "**/*.@(gz|gzip)", "headers" : [{ "key" : "Content-Encoding", "value" : "gzip" }] } ] }

Nota al margen: me di cuenta de que si accede directamente al archivo .gz a través del navegador:

  • Si la codificación de contenido es correcta: el navegador muestra el contenido del archivo
  • Si la codificación de contenido no es correcta: el navegador descargará el archivo
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda