Hallo zusammen,
ich kämpfe schon geraume Zeit damit, dass meine per gzip komprimierten Daten auch entsprechend vom Browser gehandhabt werden. Der content-type wird mir im Response Header korrekt angezeigt.
Beispiele:
- v2.framework.js.gz -> Content-type: application/javascript; content-encoding: br (Wieso wird hier brotli statt gzip angewendet? Hier sollte doch gzip stehen, oder?). Lasse ich mir die Datei anzeigen, sehe ich natürlich nur Kauderwelsch, da nicht korrekt dekodiert.
- v2.data.gz -> Content-type: application/octet-stream; content-encoding steht gar nicht erst im Response Header, dafür "accept-ranges:bytes".
Meine .htaccess sieht so aus:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<files *.unityweb>
SetOutputFilter DEFLATE
</files>
</IfModule>
<IfModule mod_mime.c>
# The following lines are required for builds without decompression fallback, compressed with gzip
RemoveType .gz
AddEncoding gzip .gz
AddType application/octet-stream .data.gz
AddType application/wasm .wasm.gz
AddType application/javascript .js.gz
AddType application/octet-stream .symbols.json.gz
# The following line improves loading performance for uncompressed builds
AddType application/wasm .wasm
# Uncomment the following line to improve loading performance for gzip-compressed builds with decompression fallback
AddEncoding gzip .unityweb
</IfModule>
Alles anzeigen
Wenn ich hier ".data.gz" für Testzwecke application/javascript statt /octet-stream zuweise, wird mir diese Änderung im Response Header nicht wiedergespiegelt. Trage ich in der .htaccess Mist ein, bekomme ich aber einen Error und setze ich Umgebungsvariablen, kann ich diese auch über PHP wieder auslesen. Heißt das, dass genau diese *.gz Daten gar nicht vom Apache gehandelt werden, sondern vom nginx? Wie sähe dann ein Workaround aus? Teilweise hatte ich etwas von einer nginx.conf gelesen - wenn ich das richtig verstanden habe, steht mir die im Webhosting Paket nicht zu Verfügung.
Danke schonmal und viele Grüße
Steffen