Como o conteúdo do GZipped é transferido na web?

4

Ouvi dizer que conteúdos estáticos como CSS e JavaScript podem ser melhor entregues no formato GZip. E a Content Developer Network (CDN) sempre faz isso.

No entanto, não entendo como o formato funciona. Primeiro quando eu tentei fazer um arquivo gzipado via linha de comando. A extensão do arquivo é .gz . Isso é diferente de .css e .js . Como os navegadores reconhecem qual arquivo é compactado ou não?

Em segundo lugar, como os navegadores "descomprimem" arquivos? Eu arrastei meu index.html.gz para meus navegadores. Mas ninguém trabalhou.

  • Como esse trabalho gzipped no mundo real?
  • O que preciso fazer se quiser servir CSS / JavaScript usando o formato Gzipped.
por PJ. 12.03.2010 / 02:06

2 respostas

4

O gzip que você está falando é invisível para o usuário final e para você como desenvolvedor. Ela é cuidada pelo seu servidor da Web e pelo navegador da Web do cliente.

Para o IIS, você precisa ativar a extensão GZip ISAPI (verifique neste site como fazer um tutorial) e, para o Apache, mod_deflate.

Quando o navegador da Web tiver concluído sua solicitação, mas antes de enviá-lo para o mundo inteiro, ele compactará o conteúdo e colocará um cabeçalho especial, para que o navegador saiba que o conteúdo está compactado.

Quando o navegador da Web recebe a resposta, ele descompacta os dados e lê o arquivo. Isso é completamente transparente para o usuário final.

Você geralmente só quer usar o GZip em arquivos de texto. Não adianta usá-lo em imagens, pois as imagens já estão pesadamente comprimidas.

Eu notei uma queda no tamanho de página de 90Kb (tempo de carregamento de aproximadamente 1 segundo) para um tamanho de página de 5Kb (tempo de carregamento, 0,4 segundos) ao ativar o GZip em todo o conteúdo estático (CSS, Javascript, etc).

O que você encontraria se assistisse aos pacotes com o Wireshark e os remontasse, você solicitaria /index.html , mas o servidor da Web buscaria /index.html , GZip-lo em /index.html.gz e enviá-lo. O navegador da web sabe disso e o descompacta para voltar a /index.html , portanto, quando você for para Visualizar código-fonte, verá /index.html , não /index.html.gz

    
por 12.03.2010 / 02:23
3

Geralmente, a compressão Gzip de conteúdo estático de um servidor web é feita via Apache mod_deflate

link

Geralmente, isso é feito apenas com arquivos de texto nos formatos text / plain, text / html e text / xml, isso pode ser feito com outros tipos de conteúdo de texto simples (css, js etc), mas isso pode causar problemas com o início versões do Internet Explorer. (edit: aparrently v6 e abaixo)

As imagens já devem ser compactadas em qualquer formato em que estejam armazenadas, portanto, não deve haver nenhuma compactação adicional (ou seja, mod_deflate) aplicada a elas.

    
por 12.03.2010 / 02:15