Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Bloghost
» Início » Programação » PHP » Compactando páginas com GZip -->
 
Avaliação: | Publicado em: 14/07/2007
Compactando páginas com GZip
Gabriel Sobrinho Programador PHP e Ruby on Rails, além disso o cara não sabe se descrever!


Pra quem não conhece, GZip é uma forma de compactar arquivos relativamente parecido com o formato zip... Com ele nós vamos diminuir o tamanho de nossa página ganhando velocidade na navegação e redução de banda, já que estamos enviando uma quantidade menor de dados do servidor para o usuário!

O script é relativamente simples. No início das páginas, ele verifica se é possível compactar e se os cabecalhos ainda não foram enviados! Se for possível ele salva no buffer do servidor tudo que for executado a partir dali. No final da página o buffer compactado é liberado para o cliente... Veja como é simples:

<?php
// GZip
if
(@extension_loaded('zlib') && !headers_sent())

{
   ob_start('ob_gzhandler');
}

// Seus scripts aqui
exit;
?>

Para você conferir a diferença, acesse a sua página com o Firefox e vá em Ferramentas > Propriedades da página e veja em Tamanho. Depois inclua o script na sua página e acesse novamente. No teste que eu fiz, eu tinha uma página de 16kb. Após utilizar o script ela reduziu para incríveis 1,87kb. Não precisa dizer nada além desses números certo?!

Se tiverem alguma dúvida postem!

Abraços e até a próxima!

Ps.: Acabei de atualizar o script por um bem mais simples e funcional =]

Bom mesmo em!! Testei aqui e ficou bem legal!
Isso é ou- igual ao eAcelerator ?
Grande abraço!
Gabriel Sobrinho <gabriel.sobrinho@gmail.com>
Bom, não conheço o eAcelerator... Pra testar se está funcionando ok também encontrei esse link: http://www.whatsmyip.org/mod_gzip_test/

Ele lhe fala o tamanho real e o tamanho com gzip e a taxa (%) de redução. Excelente o site... ;)
Joao Paulo <jp.jp@sapo.pt>
No firefox deu página com o mesmo tamanho. : Não avaliado
Gabriel Sobrinho <gabriel.sobrinho@gmailc.om>
Verifica se a extensão do php foi lida com:

<?php
if(extension_loaded('ob_gzhandler'))
{
echo 'carregou';
}
else
{
echo 'nao carregou';
}
?>

Bota esse script no teu server e me fala o resultado...
Romulo Dantas <rdsanthos@hotmail.com>
A idéia é muito interessante mesmo, porém, tenho uma dúvida:
Nos clientes que usarem computadores mais antigos com poucos recursos de processamento, esse recurso não iria deixar a navegação mais lenta?

Abração...

//RDantas
Gabriel Sobrinho <nao@publico.com>
Na verdade não.

O processamento para descompactar uma página com GZip é muito baixo, muito baixo mesmo.

Só tem velocidade a ganhar com isso. Creio que um 486 da vida descompacta sem o menor problema.

Abraços