Ich habe mich gefragt, ob mir hier jemand helfen kann, die optimale Standardkonfiguration für die Verwendung von Mod Deflate mit Apache zu ermitteln. Grundsätzlich empfiehlt mod_deflate die Verwendung der folgenden Konfiguration, um sofort loszulegen:
Komprimieren Sie nur wenige Typen
AddOutputFilterByType DEFLATE text / html text / Klartext / xml http://httpd.apache.org/docs/2.0/mod/mod_deflate.html
Sie können dies jedoch bereits nach dem Lesen des Dokuments für alle Browser anpassen. Darüber hinaus können Sie mod_deflate für alle Arten von MIME-Typen anpassen. Ich habe mich gefragt, ob jemand da draußen mit diesen Einstellungen experimentiert und eine Einstellung gefunden hat, die für alle Browser optimal ist.
Ein weiteres Beispiel, das Apache bietet, aber nicht verwenden, wenn Sie nicht alle Konfigurationsoptionen verstehen:
<Location />
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html
Ich verstehe die meisten Konfigurationseinstellungen und möchte etwas Ähnliches einrichten. Es würde mir nichts ausmachen, die Komprimierung von Bildern und anderen Medien zu vermeiden, die bereits komprimiert sind. Die Details, mit denen ich Probleme habe, sind zu verstehen, wie dies mit all den verschiedenen Browsern da draußen reagiert, Chrome, Firefox, IE, Opera usw. Offensichtlich bin ich nicht mit Netscape 4.X beschäftigt. Ich hoffe, jemand hat dies alles bereits getestet und kann möglicherweise eine gute Einstellung empfehlen, die diese Kriterien erfüllt.
Ich meine, wenn es nur darum geht, die empfohlene Einstellung im Dokument zu verwenden, bin ich damit einverstanden, aber ich wollte es nur überprüfen, um sicherzugehen.
Nur um ein paar zusätzliche Details zu liefern. Wir verwenden Apache als Front für alle unsere Webservices. Zum Beispiel: Zusammenfluss, Git, Gitweb, etc ...
Tomcat und andere Dienste werden über Apache übertragen, sodass wir Konfigurationen für virtuelle Hosts, mod_proxy mit AJP, mod_ssl, haben.
Mein Unternehmen verfügt nicht über ein dediziertes IT-Team, daher muss ich in meiner Freizeit viel davon einrichten. Ich würde mich über jeden Beitrag freuen, den Sie leisten können.
Um also klar zu sagen, was ich frage, was ist die optimale Konfiguration für die Bearbeitung der grundlegenden Inhaltsanforderungen, die Anforderungen von Apache an Mainstream-Browser erfüllen?
Meine Liste der grundlegenden Inhaltstypen bisher:
- Text / HTML
- Text / Klartext
- text / xml
- text / x-js
- Text / Javascript
- Text / CSS
- application / xml
- application / xhtml + xml
- Anwendung / X-Javascript
- Anwendung / Javascript
- Anwendung / json
Typen, die offensichtlich nicht komprimiert werden müssen:
- Bilder - GIF, JPG, PNG
- Archive - exe, gz, zip, sit, rar
quelle
AddOutputFilterByType
ist veraltet.Antworten:
Ich ging voran und recherchierte dieses heraus. Nachdem ich mehrere Tutorials und das Apache-Dokument gelesen hatte, konnte ich etwas Wesentliches zusammenstellen, das anscheinend gut funktioniert. Unter Verwendung der obigen Liste habe ich eine Reihe von Regeln / Deklarativen zusammengestellt, die die Komprimierung mit den Mainstream-Inhaltstypen zu handhaben scheinen:
Zum Testen habe ich im Grunde TamperData für Firefox verwendet und die Deflate-Protokollierung für Apache aktiviert:
https://addons.mozilla.org/en-US/firefox/addon/tamper-data/
Fügen Sie für Apache Folgendes hinzu:
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html#deflatefilternote
quelle
SetOutputFilter DEFLATE
Aktiviert die Komprimierung für alles, sodass IhreAddOutputFilterByType
Anweisungen nicht erforderlich sind.