Eu queria saber se alguém aqui poderia me ajudar a determinar a configuração padrão ideal para usar o mod deflate com o Apache. Basicamente, mod_deflate recomenda usar a seguinte configuração para começar imediatamente:
Compress only a few types
AddOutputFilterByType DEFLATE text/html text/plain text/xml
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html
No entanto, apenas lendo o documento, você pode personalizar isso para todos os navegadores que estão por aí. Além disso, você pode personalizar o mod_deflate para todos os tipos diferentes de tipos mime. Eu queria saber se alguém lá fora experimentou essas configurações e encontrou uma configuração ideal para todos os navegadores.
Outro exemplo que o Apache fornece, mas mencione não usar se você não entender todas as opções de configuração:
<Location />
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>
link
Eu entendo a maioria das definições de configuração e gostaria de configurar algo semelhante. Eu não me importaria de evitar a compactação de imagens e outras mídias que já estão compactadas. Os detalhes que eu tenho problemas com, é entender como isso reage com todos os diferentes navegadores lá fora, chrome, firefox, IE, Opera, etc ... Obviamente eu não estou preocupado com o Netscape 4.X. Espero que alguém já tenha testado tudo isso e possa recomendar uma boa configuração que atenda a esse critério.
Quero dizer, se é apenas uma questão de usar a configuração recomendada no documento, estou bem com isso, mas queria verificar apenas para ter certeza.
Apenas para fornecer alguns detalhes adicionais. Usamos o Apache como front para todos os nossos serviços web. Por exemplo: confluence, git, gitweb, etc ...
O Tomcat e outros serviços são intermediados por proxy através do Apache, por isso temos configurações para virtualhosts, mod_proxy com AJP, mod_ssl.
Minha empresa não tem uma equipe de TI dedicada, então tenho que definir muito isso no meu tempo livre. Eu apreciaria qualquer entrada que você possa fornecer.
Portanto, apenas para indicar claramente o que estou perguntando, qual é a configuração ideal para lidar com o conteúdo básico que precisa atender às solicitações do Apache para os navegadores principais?
Minha lista de tipos básicos de conteúdo até o momento:
- text / html
- text / plain
- text / xml
- text / x-js
- text / javascript
- text / css
- application / xml
- application / xhtml + xml
- aplicativo / x-javascript
- aplicativo / javascript
- aplicativo / json
Tipos que obviamente não precisam ser compactados:
- imagens - gif, jpg, png
- arquivos - exe, gz, zip, sit, rar