Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/09/2010, 08:21
uylmfs
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Compresion te html, js, y css

Antes que nada, agradecer la respuesta de emprear.
Te cuento y les cuento a los demás:

"todos los navegadores modernos aceptan gzip (opera, chrome,Ie,firefox,Safari)"
Se que lo hacen, el que parece no hacerlo (o al menos no de forma directa) es el servidor de godaddy.

"te admiten o no el gzip?"
Lo que hace es una implementación de de Gzip, pero no perite un acceso directo. Supongo que es para que no puedas definir el nivel de compresión ni aplicar la compresión a todos los archivos, y de esa forma proteger los recursos del servidor. Aunque no tendría sentido, alguien podría aplicar el Gzip a formato gráficos que ya viene comprimidos y aumentar la carga del CPU. Creo que la gente de godaddy lo implemento así para eso. No podes hacer una llamada directa a Gzip, llamas a un "manejador" de Gzip llamado "ob_gzhandler".

"Ateniendonos a que en los php te funcionó (a propósito, como lo verificaste)"
Hay varías páginas en linea que verifican si estas o no comprimiendo, yo use esta http://www.gidnetwork.com/tools/gzip-test.php , pones la url y dice si esta comprimiendo y otros datos, te pego el resultado de la tienda que es la parte de la web que tiene la mayor parte de los archivos .php comprimidos

Results for: www.tqm.com.uy/catalog/
Web page compressed? Yes
Compression type? gzip
Size, Markup (bytes) 64,397
Size, Compressed (bytes) 8,443
Compression % 86.9

Whorush: 5 sites by this AdSense ID

Response Headers
status HTTP/1.1 200 OK
date Thu, 16 Sep 2010
13:07:32 GMT
server Apache
cache-control no-store, no-cache,
must-revalidate,
post-check=0,
pre-check=0
content-encoding gzip
expires Thu, 19 Nov 1981
08:52:00 GMT
pragma no-cache
vary Accept-Encoding
x-powered-by PHP/4.4.9
set-cookie osCsid=5214b8115da5f
2df3f95e89d1801560e;
path=/catalog/;
domain=www.tqm.com.uy
connection close
content-type text/html


"Si podés pasa la url de tu página para verificar como estás comprimiendo"
La parte comprimida [URL="http://www.tqm.com.uy/catalog/"]http://www.tqm.com.uy/catalog/[/URL]
La parte sin comprimir [URL="http://www.tqm.com.uy/"]http://www.tqm.com.uy/[/URL]


"sería cuestion de que el php, procese tambien tus css , js y html. para eso bastaría, si tenes acceso, que en .htaccess utilices la siguientes directivas
AddType application/x-httpd-php .html .js .css
Con eso dichas extensiones serán procesadas por php, ahora solo te resta hacer lo que hiciste en los php en los html, js y css. con una variante, en la primera linea de tus css tendrías que agregar
<?php header("Content-Type: text/css;charset=utf-8"); ?>
y en los js
<?php header("Content-Type: text/javascript;charset=utf-8"); ?>
Esto es para prevenir errores en Firefox. Importante, estos dos agregados tiene que ser la primera linea de tus archivos, no debe haber siquiera ninguna linea en blanco sobre ella."

Me gusto tu solución pero, tengo algunas dudas: Las paginas de productos del OSC .php se son renombrados por el OSC como .html ¿no surgiría ningún conflicto ni problema? (aunque pesandolo bien las páginas estáticas de mi web son .htm, y las dinámicas .html , con lo que creo poniendo .htm en lugar de .html quedaría resuelto el problema si lo hubiera)
Otro tema es que he realizado pruebas de la misma página con y sin compresión y me dio resultados desalentadores:
Con compresión: 6,2 ; 16,46 ; 7,5 segundos
Sin compresión: 7,9 ; 5,05 ; 3,2 segundos
La pruebas se alternado los archivos con y sin compresión ( comprimido, sin , comprimido, sin , comprimido, sin , ) en intervalos de 1 minuto.
Irónicamente en promedio las páginas comprimidas demoran más que las no comprimidas . Eso según creo debido al tiempo extra del CPU.
Aún así resulta que la mayor parte del tráfico es .js

File Type Number of requests Percentage of the bytes
1. .js [JavaScript code] 8,104,100 28.02%
2. .html [Hypertext Markup Language] 4,217,311 26.84%
3. .rar 20,746 9.59%
4. .jpg [JPEG graphics] 14,816,518 7.11%
5. .gif [GIF graphics] 44,984,625 6.13%
6. .php [PHP] 1,644,541 5.27%

Eso se explica por que si tomamos por ejemplo esta página [URL="http://www.tqm.com.uy/catalog/impresora-multifuncion-brother-dcp165c-p-1542.html"]http://www.tqm.com.uy/catalog/impresora-multifuncion-brother-dcp165c-p-1542.html[/URL] veremos que se compone de:

Website information

Total loading time: 4.6 seconds
Total objects: 50 (295.5 KB)
External objects: 1 (2.7 KB)
HTML (X)HTML: 1 (74.4KB)
RSS RSS/XML: 0
CSS CSS: 2 (8.7KB)
Scripts Scripts: 4 (146.3KB)
Images Images: 43 (66.1KB)
Plugins Plugins: 0
Other Other: 0
Redirected Redirected: 0

Entonces casi el 50% es de "Scripts Scripts: 4 (146.3KB)", y eso en esta página, en otras el porcentaje es aún mayor.

Tomando en cuenta todo lo anterior creo que lo mejor sería ofrecer mediante el .htaccess ofrecer versiones ya comprimidas al menos de los .js , de esa forma se reduciría el consumo del ancho de banda sin afectar al cpu, pues no habría que comprimirlos cada vez que se soliciten. Aunque no es tanto el consumo de ancho de banda de los .css (a penas el 2.07%), también se podría aplicar a ellos y de esta forma aumentar el ahorro. Debo de tener cerca de unos 200 archivos de .htm que también se podrían comprimir y ofrecer versiones ya comprimidas.
He intentado implementarlo a nivel de .htaccess pero hasta ahora no me ha salido, de momento lo único que funciona en mi web a nivel de compresión es el <?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?> en las páginas .php

Creo que todos los dato y la investigación que puse le van a ser útiles a más de uno, por lo que si logro solucionarlo por otro lado publicare aquí la solución.

Desde ya muy agradecido por cualquier ayuda y/o consejo que me puedan dar.

Saludos
Marcelo