Jeriko: Optimierung der Ladezeit von JavaScripts

Zur Sachlage: Ich habe 6 JavaScript Dateien, die alle beim Aufruf der Website geladen werden. Dazu kommt natürlich noch die üblichen Bilder, Stylesheets und natürlich das Dokument selber.

Ich überlege gerade, wie ich nun die Ladegeschwindigkeit optimiert bekomme, ohne dabei die JavaScripts anzurühren. Internet Explorer/Firefox laden ja nur höchstens zwei Dateien auf einmal bei einer persistent connection.

Die eine Möglichkeit ist natürlich die sechs Dateien einfach in den head zu schreiben. Die andere Möglichkeit wäre ein Ansatz wie script.aculo.us ihn betreibt, via einem Hauptscript die Teilscripts einzubinden. Und darum geht es auch: Werden die dann, ähnlich wie in PHP in das Hauptscript eingebunden oder einfach nur dynamisch dazu geladen, sprich erzeugen trotzdem eine weitere Verbindung?

Puuh, viel Text für so eine kleine Frage :)

  1. hi,

    Die andere Möglichkeit wäre ein Ansatz wie script.aculo.us ihn betreibt, via einem Hauptscript die Teilscripts einzubinden. Und darum geht es auch: Werden die dann, ähnlich wie in PHP in das Hauptscript eingebunden oder einfach nur dynamisch dazu geladen, sprich erzeugen trotzdem eine weitere Verbindung?

    Überleg doch mal - wenn ein clinetseitiges Script andere Scripte "einbindet" - wie kommen die dann wohl vom Server auf den Client?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo erstmal!

    Zur Sachlage: Ich habe 6 JavaScript Dateien, die alle beim Aufruf der Website geladen werden. Dazu kommt natürlich noch die üblichen Bilder, Stylesheets und natürlich das Dokument selber.

    |

    Ich überlege gerade, wie ich nun die Ladegeschwindigkeit optimiert bekomme, ohne dabei die JavaScripts anzurühren. Internet Explorer/Firefox laden ja nur höchstens zwei Dateien auf einmal bei einer persistent connection.

    Die eine Möglichkeit ist natürlich die sechs Dateien einfach in den head zu schreiben. Die andere Möglichkeit wäre ein Ansatz wie script.aculo.us ihn betreibt, via einem Hauptscript die Teilscripts einzubinden. Und darum geht es auch: Werden die dann, ähnlich wie in PHP in das Hauptscript eingebunden oder einfach nur dynamisch dazu geladen, sprich erzeugen trotzdem eine weitere Verbindung?

    jede eingebundene Resource eine Dokumentes bedeutet jeweils einen Request zusätzlich an den Server. Dabei werden immer Request- und Responseheader ausgetaust (zusätzlicher Traffig, der auch erstmal durch die Leitungen muß), bevor die der Resourceninhalt übertragen wird. Dazu kommt auch, daß einige Browser/Provider mehrfache Requests über eine Verbindung nicht zulassen. Es muß also u. U. für jeden Request eine neue Verbindung etabliert werden.
     Man sollte also im Sinne einer Optimierung alle Javascript in einer Datei zusammenfassen und den Ansatz eines Nachlades getrost verwerfen.

    Dies heißt auch, daß es zu einer Redundanz kommen kann, denn nicht alle Dokumente werden alle Scripte nutzen und genaugenommen wird dadurch die Ladezeit durch mehr Datenmasse erhöht. Also gilt es noch einen Punkt zu beachten:

    Alle statischen Inhalte (Bilder,Stylesheets,Scriptdateien) sollten auf Ebene von HTTP auch so ausgewiesen werden, daß ein richtig konfigurierter Browser sie kein zweiters mal vom Server beziehen muß. Dazu gibt es einen empfehlenswerten Artikel von Christian Kruse: http://aktuell.de.selfhtml.org/artikel/server/apachetuning/index.html#a4

    Gruß aus Berlin!
    eddi