HTTP compressão - Como enviar arquivos pré-comprimida que existem em um arquivo EAR?

StackOverflow https://stackoverflow.com/questions/1061066

  •  21-08-2019
  •  | 
  •  

Pergunta

É possível enviar arquivos pré-comprimido que estão contidos dentro de um EARfile? Mais especificamente, os arquivos JSP e JS dentro do arquivo WAR. Eu estou usando Apache HTTP como o servidor web e, embora seja simples para ligar o módulo desinflar e configurá-lo para usar uma versão pré-comprimido dos arquivos, eu gostaria de aplicar isso a arquivos que estão contidos dentro de um arquivo EAR que é implantada para JBoss. A razão é que o conteúdo é bastante estática e comprimi-lo na cada vez que voar é bastante dispendiosa em termos de tempo de CPU.

Francamente, não estou totalmente familiarizado com a forma como JBoss implanta esses arquivos EAR e 'serve'-los. A essência do que eu quero fazer é pré-comprimir os arquivos contidos dentro da guerra para que quando eles são solicitados são enviados de volta para o cliente com gzip para Content-Encoding.

Foi útil?

Solução 2

Eu não freqüentam este local muitas vezes e eu parecem ter deixado esta Linha de suspensão. Me desculpe por isso. I teve sucesso na obtenção de compressão para meus arquivos JavaScript e CSS. O que eu fiz foi pré-comprimir-los no processo de construção Ant usando o gzip. Eu, então, teve de falsificar o nome para se livrar da extensão gzip. Então eu tive foo.js e comprimido-lo em foo.js.gzip. I renomeado esta foo.js.gzip para foo.js e este é o arquivo que será embalado no arquivo WAR. Assim que lida com a parte pré-compressão. Para obter este arquivo servido corretamente, só temos de dizer ao navegador que este arquivo é compactado, através do cabeçalho Content-Encoding da resposta http. Isso foi feito através de um filtro de saída que é aplicado a arquivos que combinavam com a extensão do * .js (alguns Java / JBoss, WEB-INF / web.xml se isso ajuda. Eu não estou muito familiarizado com esses caras tão sorry).

Outras dicas

Em teoria, você pode comprimi-los antes packging-los no EAR, e depois servi-los com um controlador personalizado que adiciona o cabeçalho HTTP para a resposta que informa ao cliente que está comprimido, mas que parece ser um monte de esforço para ir.

Quando você diz que on-the-fly compressão é muito caro, você tem realmente medido é? Você já tentou solicitar um grande número de páginas não comprimidos, medida a utilização da CPU, em seguida, amarrou-o novamente com páginas compactados? Eu acho que você pode ser sobre-estimar o impacto. Ele usa muito baixa intensidade de compressão stream, projetado para usar poucos recursos da CPU.

Você precisa ser muito certo de que você tem um problema de desempenho real antes de ir a tais extremos para mitigá-la.

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