Ist das eine Optimierung?

8

Geht von

%Vor%

bis

%Vor%

wirklich Dinge beschleunigen?

Ich denke, es ist so, weil php den Inhalt einer Datei schneller holen und einbetten kann, als der Browser des Clients eine vollständige Anfrage für die Datei machen kann, weil php nicht über das Netzwerk geht.

Ist der Hauptunterschied, dass die traditionelle Methode zwischengespeichert werden kann?

    
Devin G Rhode 14.08.2011, 15:26
quelle

8 Antworten

11

Es kann beim ersten Laden der Seite schneller sein, aber bei jedem nachfolgenden Laden ist es viel langsamer. Im ersten Beispiel würde der Client-Browser das Ergebnis zwischenspeichern. In der zweiten kann es nicht.

    
nickf 14.08.2011, 15:29
quelle
4

Wenn Sie im Leben Ihres Kunden immer nur eine einzige Website bedienen, dann ja, weil Sie nur eine HTTP-Anfrage statt zwei haben.

Wenn Sie mehrere Websites bedienen, die alle auf die gleiche Quelldatei verweisen, dann duplizieren Sie alle diese redundanten Daten und geben dem Client keine Möglichkeit, die Datei zwischenzuspeichern.

    
Kerrek SB 14.08.2011 15:30
quelle
2

Sie müssen die Bytes in beiden Fällen zum Browser übertragen. Der einzige Unterschied besteht darin, dass Sie im letzteren Fall eine HTTP-Anfrage speichern. Stellen Sie außerdem sicher, dass das JavaScript mit CDATA oder mit htmlspecialchars entfernt wird.

Wenn Sie Ihre JS-Bibliothek in Ihre HTML-Seite einfügen, kann sie nicht vom Browser zwischengespeichert werden. Es ist im Allgemeinen eine gute Idee, JS getrennt vom normalen HTML-Code zu halten, da der Browser es zwischenspeichern kann und es nicht bei nachfolgenden Anfragen abrufen muss.

Um es kurz zu machen, es ist eine Optimierung, die nur funktioniert, wenn die Seite einmal vom Benutzer aufgerufen wird und jquery nicht auf anderen Seiten verwendet wird.

Alternativ können Sie die jquery von google apis verwenden - mit dem Effekt, dass sie häufig in der Browser-Cache sowieso, so dass die lib nicht übertragen werden muss.

    
cweiske 14.08.2011 15:28
quelle
2

Es tut das für diese EINE SEITE.

Alle nachfolgenden Seiten, die dieselbe Bibliothek verwenden (jquery.js, die von der gleichen URL heruntergeladen wurden) LEIDEN, denn wenn Sie den Verweis auf die externe Datei angeben, muss er in einer zusätzlichen Verbindung heruntergeladen werden (die relativ günstig mit HTTP ist) \ 1.1 und Pipelining), ABER - sofern Ihr Webserver mit nützlichen Headern (Expires: -Header weit in der Zukunft) versorgt, speichert der Browser diesen Download zwischen, während er bei der "Optimierung" mit jeder einzelnen Content-Seite abgerufen werden muss .

Siehe auch Seiten wie diese: Ссылка

(das Schlüsselwort hier ist "revving" in Verbindung mit diesen Verfallsdaten in ferne Zukunft)

    
Mörre 14.08.2011 15:30
quelle
2

Der erste ist besser, da der Browser das Skript zwischenspeichern kann. Bei der zweiten Version muss das Skript jedes Mal erneut geladen werden, wenn die Seite geladen wird, auch wenn das Skript nicht geändert wurde.

Die zweite Version ist nur eine Verbesserung für Skripts, die nicht vom Browser zwischengespeichert werden können.

    
Sven 14.08.2011 15:36
quelle
0

Es hängt davon ab, wie viele Dateien dieselbe Datei verwenden. In den meisten Situationen ist dies jedoch langsamer als bei Ihrem ersten Code, da jquery.js im Cache gespeichert werden kann.

    
elslooo 14.08.2011 15:29
quelle
0

Ja, das wäre zunächst eine Performance-Optimierung hinsichtlich der Anzahl der HTTP-Anfragen, die für die Seite benötigt werden - Ihre Seite wird jedoch pro Pagerload etwas größer, da die jquery.js nach der ersten im Browser zwischengespeichert wird herunterladen.

    
ninetwozero 14.08.2011 15:30
quelle
0

Wenn Ihre Seite statisch ist.
Aber wenn es nicht statisch ist, lädt Ihr Browser die Seite sehr schnell herunter, während jquery sich nicht ändert, aber immer noch enthalten ist. Wenn Sie src="jquery.js" verwenden und die Seite sich ändert, lädt der Browser jquery aus dem Cache und lädt sie nicht erneut herunter, so dass src="jquery.js" tatsächlich schneller ist.

    
Dani 14.08.2011 15:30
quelle

Tags und Links