Autor Zpráva
ybznek
Profil
Omlouvám ze za možný OT, ale nevěděl jsem kam to šoupnout.

Chci se zeptat, jestli se vyplatí CSS komprese přes gzip v php (ob_start("ob_gzhandler"); ?

Při testech na localhostu mi přišlo že rychlejší bylo načítat CSS přímo než v PHP a následně ho komprimovat. Ale na internetu je praxe jiná, spojení bývají často rychlá a jestli větší zpomalení nezpůsobí nutná režie kolem PHP & gzip.

-zagzipované CSS cachovat ?

-jako další možnost -zagzipovávat apache modulem - nemusí být všude

Jaký názor máze na gzipování skriptů/stylů? (od jaké velikosti?)
Amunak
Profil
ybznek:
Bylo by lepší zapnout spíš přímo kompresi na serveru. Jinak se to ale vyplatí (tedy nevím jestli přímo v php, režii bude mít asi větší), ale jinak komprese trvá webserveru zlomek vteřiny a někomu s pomalejším připojením můžeš ušetřit třeba i desítky kilobajtů. Pochopitelně to má smysl hlavně u objemnějších kódů.
midlan
Profil
Amunak:
Bylo by lepší zapnout spíš přímo kompresi na serveru.
Tak jsem nad touto problematikou přemýšlel, ale hodně serverů kompresi gzip prostě neumí. Neví někdo jestli jde v php zjistit jestli komprese na serveru běží?

Nyní používám tohle, někomu se to může hodit:
<?php
$gzip = false;
if(isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) {
  header('Content-Encoding: gzip');
  $gzip = true;
}

ob_start(function($string, $number) use (&$gzip) {
  $string = preg_replace('~(?:(>)\s+(<))|(?:\s{2,})|\n~', '$1$2', $string);
  if($gzip)
    return ob_gzhandler($string, $number);
  return $string;
});
unset($gzip);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: