Zur Navigation

Komprimierung vom Javascript e

1 Krieger (Gast)

Ich nutze in der htacces die folgende Komprimierung:
<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 Anwendung / x-Javascript
• AddOutputFilter DEFLATE .shtml
</ IfModule>
Die Javascripte werden nicht komprimiert alle anderen ja. Der Server von 1und1 unterstützt Gzip. Bei Goggle PageSpeed Insights bekomme ich die Meldung: Durch die Komprimierung von http://www.fahrrad-workshop-sprockhoevel.de/js/jquery.flexslider.js könnten 22,6 KB (76 %) eingespart werden. Ein Test bei ein 1und1 ergab das die Komprimierung aktiv ist. Woran könnte das liegen?

01.03.2017 21:17

2 six

Probier mal in der Reihenfolge....

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<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
</IfModule>

--------

01.03.2017 22:46

3 Krieger (Gast)

Vielen Dank zeigt mir die gleiche Fehlermeldung:
Durch die Komprimierung der Ressourcen mit "gzip" oder "deflate" kann die Anzahl der über das Netzwerk gesendeten Bytes reduziert werden.
Ermöglichen Sie die Komprimierung der folgenden Ressourcen, um die Übertragungsgröße um 33,7 KB (73 %) zu reduzieren.

01.03.2017 23:04

4 six

Bitte frage 'mal bei Deinem Provider nach, ob mod_deflate.c / mod_deflate.so wirklich eingebunden und aktiviert sind.

Gib deine Seite hier ein gibt noch einiges zu tun:))
https://tools.pingdom.com

The following publicly cacheable, compressible resources should have a "Vary: Accept-Encoding" header:
    http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
    http://pagead2.googlesyndication.com/pagead/show_ads.js
    http://www.fahrrad-workshop-sprockhoevel.de/js/jquery.flexslider.js
    http://www.fahrrad-workshop-sprockhoevel.de/js/modernizr.js
    https://googleads.g.doubleclick.net/pagead/html/r20170227/r20170110/zrt_lookup.html
    https://pagead2.googlesyndication.com/pagead/osd.js

02.03.2017 10:58

5 Jörg Kruse

• AddOutputFilterByType DEFLATE text / plain

Die Bulletzeichen vorne sind wohl beim Kopiern entstanden? in der .htaccess Datei würden diese vermutlich zu einem Error 500 führen :)

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain

Beim IfModule Container stellt sich die Frage, welche Apache-Version der Provider einsetzt. Die Direktive AddOutputFilterByType gehörte bis Version 2.2 zwar noch zum Modul mod_deflate:

https://httpd.apache.org/docs/2.2/en/mod/mod_deflate.html

... seit Version 2.4 aber zum Modul mod_filter:

https://httpd.apache.org/docs/2.4/mod/mod_filter.html

Ich würde es mal so probieren:

<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/plain

02.03.2017 11:17 | geändert: 02.03.2017 11:19

6 Krieger (Gast)

Ich habe ja nur Einfluss auf diese Seiten:
http://www.fahrrad-workshop-sprockhoevel.de/js/jquery.flexslider.js
http://www.fahrrad-workshop-sprockhoevel.de/js/modernizr.js
Die "js" Komprimierung scheint ja bei 1und1 ein Problem zu sein wie man in einigen Foren lesen kann. Meine Seite schneidet im Google PageSpeed Test ja noch relativ GUT ab. 85 Punkte von 100 möglichen. Die Bewerung schwankt aber teilweise zwischen 80 bis 85.
https://developers.google.com/speed/pagespeed/insights/?url=www.fahrrad-workshop-sprockhoevel.de&tab=desktop

02.03.2017 11:24

7 Krieger (Gast)

Hallo Jörg,
Ich habe es mal eingebaut hat aber nichts gebracht.
Am besten klappt es hier mit:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/javascript text/css
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/x-javascript application/javascript application/json
# turns cache on for 7 days
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType text/html "access plus 7 days"
ExpiresByType text/htm "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/jpg "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
ExpiresByType image/x-icon "access plus 7 days"
</IfModule>
Beim Google PageSpeed 85 Punkte von 100.
Wäre das vielleicht eine Lösung:

php.ini mit
zlib.output_compression = On

.htaccess mit:
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.gzip.
</IfModule>

02.03.2017 12:05

8 six

Zitat von Krieger

Beim Google PageSpeed 85 Punkte von 100.

Ja aber die Ladezeit Deiner Seiten mit 2,64s bei gerade mal 422kb ist zu hoch
und liegt über der 2s Grenze!
Die Komprimierung der JS wird da nicht mehr viel bringen.
Viel mehr leigt es auch an der schlechten Performance des Providers!
Besorg dir lieber einen ordentlichen..muss nicht teuer sein.

------

02.03.2017 13:30

9 Jörg Kruse

ExpiresByType text/javascript "access plus 7 days"

Das erschwert den Test, weil wir bei einer Korrektur ggf. erst nach 7 Tagen eine komprimierte Datei erhalten, weil der Browser bis dahin die Datei aus dem Cache holt. Vor jedem Test muss man jedenfalls den Browser-Cache leeren. Ich würde den ExpiresByType zumindest solange rausschmeißen, bis du mit der Korrektur durch bist. Wobei es durchaus auch sein kann, dass Google (Pagespeed) sich erst nach 7 Tagen eine neue Datei zieht und vorher keine korrigierten Ergebnisse liefert!

Am besten klappt es hier mit:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/javascript text/css
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/x-javascript application/javascript application/json

Was heißt "am besten" - wie hast du das überprüft? zur Zeit wird die genannte Datei nicht komprimiert übermittelt. Am besten überprüft man das anhand der HTTP-Header, die der Server übermittelt. Unter Firefox kannst du das beispielsweise, indem du in den Entwicklerwerkzeugen die Netzwerkanalyse aufrufst, und ggf. nach einem Neuladen die Javascript-Datei anklickst - rechts unter Kopfzeilen erscheinen dann die Header des Servers ("Antwortkopfzeilen"). Dort sollte auch ein Header "Content-Encoding: gzip" o.ä. erscheinen.

02.03.2017 14:28

10 Jörg Kruse

Nachtrag:

ich habe das jetzt nur überflogen:

https://community.1und1.de/bessere-client-performance-mit-mod-deflate/

Die Kompression scheint es nur für Managed Server zu geben?

Ich würde dann, wie auch schon von six empfohlen, mal direkt beim Support nachfragen, welche Methode bei deinem Tarif denn unterstützt wird

Edit:

In dem Artikel schreiben sie auch selbst, man solle sich an den Support wenden, wenn man in der Sache nicht weiter kommt:

In einzelnen Fällen müssen wir zusätzliche Anpassungen vornehmen, um gzip für Ihr Webhosting-Paket zu aktivieren. Falls Sie gzip nicht aktivieren können, unterstützt Sie unser Webhosting Support rund um die Uhr.

02.03.2017 14:42 | geändert: 02.03.2017 14:45