Pergunta

Eu tenho um servidor da web incorporado que tem um total de 2 megs de espaço. Normalmente, os arquivos GZIP para os clientes se beneficiam, mas isso nos economizaria espaço no servidor. Eu li que você pode apenas gzip o arquivo JS e salvá -lo no servidor. Eu testei isso no IIS e não tive sorte. O que exatamente preciso fazer em todas as etapas do processo para fazer isso funcionar?

É assim que eu imagino que será:

  1. gzip foo.js
  2. Altere o link em html para apontar para foo.js.gz em vez de apenas .js
  3. Adicionar algum tipo de cabeçalho à resposta?

Obrigado por qualquer ajuda.

-Frew

EDITAR: Meu servidor da web não pode fazer nada rapidamente. Não é apache ou iis; É um binário em um processador Zilog. Eu sei que você pode compactar fluxos; Acabei de ouvir que você também pode comprimir os arquivos uma vez e deixá -los compactados.

Foi útil?

Solução

Como outros mencionaram Mod_deflate faz isso para você, mas acho que você precisa fazê -lo manualmente, pois é um ambiente incorporado.

Primeiro de tudo, você deve deixar o nome do arquivo foo.js depois de dar -o.

Você não deve alterar nada nos seus arquivos HTML. Como o arquivo ainda é foo.js

No cabeçalho de resposta do (o gzipped) foo.js, você envia o cabeçalho

Content-Encoding: gzip

Isso deve fazer o truque. O cliente pede foo.js e recebe codificação de conteúdo: GZIP seguido pelo arquivo gzippeado, que ele abre automaticamente antes de analisar.

É claro que isso pressupõe que você tem certeza de que o cliente entende a codificação do GZIP, se você não tiver certeza, você deve enviar apenas dados de gordura quando o cabeçalho da solicitação contiver

Accept-Encoding: gzip

Outras dicas

Usar a compactação GZIP em um servidor da web geralmente significa comprimir a saída dela para economizar sua largura de banda - não é exatamente o que você tem em mente.

Veja esta descriçãoouEste exemplo

Se você está usando o Apache, você usa mod_deflate, e se comprime em tempo real.

Eu acho que você está ficando confuso ao pensar que, se você tiver algo, deve ser um arquivo. Em vez disso, pense em como um arquivo é apenas um fluxo de dados e que o fluxo de dados pode ser compactado aqui, transmitido e não compactado lá sem que o cliente precise pensar sobre isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top