Die meisten Websites wollen ihre Inhalte komprimieren, um Bandbreite zu sparen. Bei Apache-Servern, auf denen PHP läuft, gibt es jedoch zwei Möglichkeiten, dies zu tun mit PHP oder mit Apache. Was ist also schneller oder einfacher für Ihren Server?
In PHP führe ich zum Beispiel die folgende Funktion am Anfang meiner Seiten aus, um sie zu aktivieren:
/**
* Gzip compress page output
* Original function came from wordpress.org
*/
function gzip_compression() {
//If no encoding was given - then it must not be able to accept gzip pages
if( empty($_SERVER['HTTP_ACCEPT_ENCODING']) ) { return false; }
//If zlib is not ALREADY compressing the page - and ob_gzhandler is set
if (( ini_get('zlib.output_compression') == 'On'
OR ini_get('zlib.output_compression_level') > 0 )
OR ini_get('output_handler') == 'ob_gzhandler' ) {
return false;
}
//Else if zlib is loaded start the compression.
if ( extension_loaded( 'zlib' ) AND (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) ) {
ob_start('ob_gzhandler');
}
}
El andere Option ist die Verwendung von Apache deflate oder gzip (beide sind sehr eng ). Um sie zu aktivieren, können Sie Ihrer .htaccess-Datei etwas wie das Folgende hinzufügen.
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
Da PHP eine Skriptsprache ist (die von PHP geladen werden muss), würde ich annehmen, dass die Apache-Methode 1) stabiler und 2) schneller ist. Aber Annahmen haben in der realen Welt keine große Bedeutung.
Schließlich sollte man annehmen, dass angesichts der enormen finanziellen Unterstützung, die Windows... äh werden wir das nicht tun.