Markus Kniebes Journal urn:uuid:266c63adb47154c85cc328832810cf38 2021-30-11T23:59:50 <![CDATA[gepacktes]]> urn:uuid:1993 2003-05-17T01:14:00 Da ich ja noch immer mein pervers langes Kalenderarchiv betreibe, was mit einer Dateigröße von 144KB daherkommt, hab ich mich entschlossen zumindest diese Seite vor der Übertragung zu gzippen. Was die Länge auf ca. 5KB runterbringt. Das Rendern inkl. zippen dauert nur unwesentlich länger, dafür ist das Ladevorgang sehr viel fixer und ich hab weniger Traffik.

Das erste Codeframent prüft, ob der Browser GZIP akzeptiert und schickt einen entsprechenden HTTP Header.

if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
  header("Content-Encoding: gzip");
  echo "x1fx8bx08x00x00x00x00x00";
}

Dieses Fragment nimmt, falls GZIP akzeptiert wird, die Kompression vor und gibt die Seite aus.

if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
  print gzcompress(
    template_replace_keys(
      $content, $site_template ),
      9 );
} else {
  print template_replace_keys( $content, $site_template );
}

Ja, so einfach geht das. Könnte man sich das nicht mal zu Herzen nehmen?!

]]>
Markus Kniebes kniebes@pm.me