2010-03-01 22 views
39

Mögliche Duplizieren:
Why minify assets and not the markup?Warum minimieren viele Websites CSS und JavaScript, aber nicht HTML?

Ich habe eine Menge von Websites gesehen minimierte CSS und JavaScript verwenden Website Reaktionszeit zu erhöhen, aber ich habe nie irgendwelche Websites verwenden minified HTML gesehen. Warum möchtest du nicht, dass dein HTML minimiert wird?

+4

Google.com macht ... – Ally

+2

http://stackoverflow.com/questions/1306792/why-minify-assets-and-not-the-markup – UmYeah

+3

@Ally - was relevant für die Startseite von Google.com ist wahrscheinlich doesn gilt nicht für die durchschnittliche Website! –

Antwort

59

Weil, wenn Sie die Dinge richtig machen, Sie ohnehin HTML gziped dienen, so dass die tief hängenden Früchte der HTML-Minification - Whitespace - nicht so relevant ist. Es gibt nicht viele einfache Ziele (z. B. Variablennamen) für die Verkleinerung in HTML, die in CSS und JavaScript vorhanden sind. Ein Großteil des Inhalts von HTML ist der tatsächliche Inhalt der Seite, der wahrscheinlich nicht minimiert werden kann (und, wie andere gezeigt haben, wird fast sicher häufiger als Ihre CSS oder JS variieren).

+4

Beachten Sie, dass meistens css oder jsavascript zusammenführen Dateien zusammenführen, die nicht mit HTML-Datei aus den von Ihnen angegebenen Gründen durchgeführt werden können. –

7

Ich glaube nicht, dass es so viel Platz für die Verkleinerung in HTML gibt: Sie können Leerräume und Zeilenumbrüche entfernen, aber im Wesentlichen geht es darum, ohne tatsächlich in die Seitenstruktur zu gelangen.

JS Verkleinerung kann Variable und Funktionsnamen verkürzen, wahrscheinlich der größte Nettogewinn in Bezug auf Speicherplatz. Mit seinen festen Tags bietet HTML diese Möglichkeit nicht.

Die Möglichkeit, HTML zu gzipieren, beseitigt wahrscheinlich einen Großteil der Notwendigkeit einer Minimierung, besonders da es normalerweise für HTML aktiviert ist, während es (unnötig) nicht immer für die CSS- und JS-Dateitypen ist.

47

Ich würde vermuten, dass die meisten Websites statische CSS und Javascript haben. Dies bedeutet, dass sie nur einmal aktualisiert werden können, wenn sie aktualisiert werden. Auf der anderen Seite wird HTML tendenziell dynamisch generiert, was bedeutet, dass es bei jeder Seitenanforderung minimiert werden müsste, was erheblich teurer ist als statische CSS- und Javascript-Dateien zu reduzieren.

+4

beste Antwort imo. –

+3

Statische Websites müssten nur einmal minimiert werden. Aber zusätzlich, dynamisch erzeugte HTML würde auch leicht minimiert werden. Wenn der HTML-Inhalt erstellt wird, würden Sie den Leerraum nicht an erster Stelle einfügen. Es wäre tatsächlich schneller HTML ohne Leerzeichen zu produzieren. –

3

Der Inhalt von Html, der gezippt wird, kümmert sich um den größten Teil der Komprimierung, was darüber hinaus nicht viel bewirken oder viel Bandbreite sparen würde.

Javascript kann man als Teil des Builds minimieren, die einzige Möglichkeit, dies mit dem gesamten HTML-Inhalt zu tun wäre, jedes Stück zu verkleinern (was ist, wenn es erzeugt wird?) Oder es die ganze Zeit minimiert zu haben (Alptraum zu arbeiten) auf?)

Es ist Kosten vs Nutzen, Kosten: marginale Bandbreite, Vorteil: einfacher zu arbeiten, einfacher zu generieren, einfacher zu debuggen, ziemlich in meinem Quellansichtsfenster.

5

In erster Linie, weil Javascript-Dateien und CSS-Stylesheets häufig statische Dateien sind, die sich bei der Bereitstellung nicht ändern. Markup hingegen wird oft on-the-fly generiert (zumindest mit datenbankbasierten Web-Apps), und die Anzahl der "Seiten" ist normalerweise groß und dynamisch, wodurch die Vorteile der Minimierung mehr Arbeit machen, als es wert ist.

Verwandte Themen