2013-10-08 2 views
10

Ich verwende diesen PHP-Code für JSON-Ausgabe. Apache gzip es standardmäßig? Oder, wie kann ich überprüfen, um sicherzustellen?Hat Apache 2 Gzip JSON-Ausgabe standardmäßig?

header('Content-type: application/json'); 
header('Cache-Control: max-age=0,no-cache,no-store,post-check=0,pre-check=0'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
echo json_encode($response); 
+2

Ich glaube, das ist das, was Sie suchen. http://www.simonwhatley.co.uk/how-to-configure-apache-to-gzip-your-components –

Antwort

2

Kein gzip wird normalerweise nicht verwendet, Sie müssen das selbst erzwingen.

Im einfachsten Fall brauchen Sie nur diese PHP-Zeile hinzufügen:

ob_start("ob_gzhandler"); 

Siehe auch die offizielle php documentation.

20

Dies ist, was der Trick für mich getan hat:

(vorausgesetzt, Sie Zugriff auf Apache-Konfiguration haben)

AddOutputFilterByType DEFLATE application/json 

ich diese Zeile direkt in /etc/apache2/mods-available/deflate.conf hinzugefügt (so wird es auf für jede JSON-Datei arbeiten der Webserver) vielleicht ist eine andere Stelle in Ihrem Anwendungsfall besser geeignet (zB wenn Sie nur die JSON-Komprimierung für eine einzelne Webanwendung und nicht standardmäßig aktivieren möchten).

bearbeiten: In Google Chromes Entwickler-Tools können Sie einfach überprüfen, ob Ihr Inhalt oder unkomprimiert komprimiert serviert: https://webmasters.stackexchange.com/a/4613