Warum ist die Minimierung von HTML / Javascript von Vorteil, wenn das HTTP-Protokoll die Komprimierung von gzip-Daten bereits unterstützt?
Mir ist klar, dass die JavaScript / HTML-Minimierung die Größe von Javascript / HTML-Dateien erheblich reduzieren kann, indem unnötige Leerzeichen entfernt und die Variablen möglicherweise in jeweils wenige Buchstaben umbenannt werden. Der LZW-Algorithmus eignet sich jedoch nicht besonders gut, wenn viele wiederholt werden Zeichen (zB viel Leerzeichen?)
Mir ist klar, dass einige Tools zur Minimierung von Javascript mehr als nur die Größe reduzieren. Der Closure Compiler von Google versucht beispielsweise auch, die Code-Performance durch Inlining-Funktionen und andere Analysen zu verbessern. Aber der primäre Zweck der Javascript minification ist in der Regel der Dateigröße zu reduzieren.
Mir ist auch klar, dass es neben der Leistung noch andere Gründe gibt, wie beispielsweise die Verschleierung von Code. Aber auch dieser Grund wird normalerweise nicht so sehr betont wie der Leistungsgewinn und die Reduzierung der Dateigröße. Beispielsweise wird der Closure Compiler nicht als Verschleierungstool, sondern als Reduzierung der Codegröße und Verbesserung der Downloadgeschwindigkeit beworben.
Wie viel Leistung bringt Ihnen die JavaScript / HTML-Minimierung, wenn Sie die Dateigröße bereits mit der GZIP-Komprimierung erheblich reduzieren?
quelle
Minification + gzip liefert im Allgemeinen bessere Ergebnisse, da gzip ein allgemeiner Algorithmus ist, der nicht speziell an die eine oder andere Eingabe angepasst ist, während der Minificator den Inhalt kennt und arbeiten kann, was der allgemeine Komprimierungsalgorithmus nicht kann. Es kann sich auch leisten, verlustbehaftet zu sein (denken Sie daran: Entfernen Sie Kommentare und Leerzeichen vollständig - das ist 100% Komprimierung für diese Daten, wie können Sie das übertreffen?), Während die allgemeine Komprimierung dies nicht kann.
quelle
Möglicherweise erhalten Sie nicht zu viele Leistungsvorteile, aber Sie reduzieren trotzdem Ihre Bandbreitennutzung. Wenn Sie durch Minimierung (und Verwendung von CSS-Sprites, um die Anzahl der Anforderungen zu verringern) ein paar Kilobyte Ihrer JS- (und CSS-) Dateien einsparen können und täglich Tausende von Benutzern bedienen, reduzieren Sie nach einem Monat Ihre Bandbreite erheblich.
quelle
Das Teuerste, was Sie in einer Webanwendung tun, ist, Dinge auf dem laufenden zu halten. Wenn Sie in CPU-Zyklen zahlen, ist es fast immer ein Nettogewinn, wenn Sie weniger Zeug über den Draht schicken.
Darüber hinaus liegen mir keine wissenschaftlichen Erkenntnisse vor, aber ich würde davon ausgehen, dass Minimierungstools JavaScript wahrscheinlich besser komprimieren können als gzip, wenn Minimierungstools nicht aus anderen Gründen domänenspezifisch sind und so angepasst werden können, dass JavaScript besser komprimiert wird, wohingegen gzip ist ein generisches Tool und geht Kompromisse in der Mitte ein.
quelle