AddOutputFilterByType DEFLATE ...
bearbeitet von Regina Schaukrug> ?? *“The media type for JSON text is application/json.”*{:@en} [[RFC 8259 §11](https://tools.ietf.org/html/rfc8259#section-11)]
>
> Hinzu kommt noch `application/ld+json`.
>
> Für XML sollte auch eher `application/xml` in Gebrauch sein. Hinzu kommen noch XML-Anwendungen wie `application/rdf+xml`, `image/svg+xml`, …
Damit hast Du recht.
> Kann man mit Wildcards arbeiten? `text/*`, `*json`, `*xml`?
Ist nicht dokumentiert. Ein erster schneller Test ergab, dass das immerhin nicht zu einem 500er führte (in .htaccess verwendet - ob der Server mit sowas in der Konfiguration starten will weiß ich noch nicht). Allerdings wurde auch nichts komprimiert. Nichtdeszutrotz zeigt die Doku, dass man die Komprimierung auch in Abhängigkeit vom Dateiname steuern kann:
~~~
<FilesMatch "\.(txt|csv|xml|json)$">
AddOutputFilter deflate
</FilesMatch>
~~~
Dann geht das - aber nur für statische Dateien und man müsste ein wenig mit regulären Ausdrücken spielen.
Bei nicht statischen Ressourcen ist es aber womöglich sinnvoller, den Output durch das Programm (Skript) zu zippen. (Da mache ich gerne). Natürlich könnte man auch mit Namen spielen (e.g. "dateiname.packDas.php") und
~~~
<FilesMatch "\.packDas\.php$">
AddOutputFilter deflate
</FilesMatch>
~~~
setzen. Das geht aber auch nicht immer. z.B. wenn man fertiges Zeug Dritter nachbessern will. Da hätte man allerhand zu tun.
**Hilfe, Hilfe Hilfe!**
Was mir fehlt ist eine Direktive mit der man das Packen erst ab einer bestimmten Dateigröße bestellt. Momentan "packt" der Apache z.B. 500 Bytes in 564 Bytes... Das ist Verschwendung. [So und so dürfte unterhalb von 1 MTU (Mit Ethernet <-> DSL <-> Ethernet = 1492 Bytes) das Packen hyperliquid sein](https://de.wikipedia.org/wiki/Maximum_Transmission_Unit).