Die Regel "Alles, was benötigt wird, bevor die Seite gerendert wird, sollte vom selben Server stammen" gilt im Allgemeinen für Ihren ServerServer oder andere kleinere Ressourcen - Situationen, in denen die DNS-Suche einen merklichen Sekundenbruchteil in Anspruch nimmt (was sich schnell summieren kann, wenn Ihre Objekte über viele Domänen verstreut sind). Bei allgemeinen öffentlichen Ressourcen wie dem jQuery-Cache von Google und anderen Bibliotheken besteht eine gute Chance, dass der Browser Ihres Besuchers diese DNS-Suche bereits heute durchgeführt hat (da andere Websites auf den Inhalt dieses Dienstes verweisen) und die Datei wahrscheinlich auch im Cache gespeichert ist Die Übertragung muss durchgeführt werden (oder wenn eine Anforderung erfolgt, wird möglicherweise nur eine kurze Antwort "304 - nicht geändert" zurückgegeben). Selbst wenn für das Objekt ein vollständiger Download erforderlich ist, ist das Content Delivery-Netzwerk von Google für die meisten Nutzer schneller als Ihr kleinerer Vorgang.
Eine verwandte Regel: Objekte, die für die korrekte Funktion der Seite nicht erforderlich sind (wie der Benutzer es sieht), sollten in der HTTP-Hauptantwort so spät wie möglich angegeben werden. Zum Beispiel Dinge wie die Skripte, die für Werbe- / Statistikdienste benötigt werden (z. B. Google Analytics und sein Umfeld) - geben Sie dem Nutzer Ihre Inhalte so schnell wie möglich und laden Sie dann das Hintergrundmaterial, das Sie nur wirklich interessiert. Ich habe einige Anzeigen- / Statistikdienste blockiert (indem ich sie in meiner Hosts-Datei 127.0.0.1 zugeordnet habe), weil sie oft zu langsam sind und Websites, die früh auf sie verweisen, mir nur eine leere Seite geben, während auf die Skripte gewartet wird Wenn ich mich zu spät auf sie beziehe, kann ich den Inhalt lesen, für den ich da bin, während das andere Zeug im Hintergrund herumwirbelt.
Die Nützlichkeit einer Domain ohne Cookies für statische Inhalte ist eine Frage der Größenordnung. Wenn Sie lediglich eine 10-Byte-Sitzungs-ID in den Cookies haben und zehntausend Besucher pro Tag ~ 20 statische Objekte pro Besuch anfordern, sparen Sie nur ~ 118 MB Bandbreite pro Monat (20 * 20 * 10000 * 31/1024/1024). Wenn auf der anderen Seite auf Ihrer Website ein oder zwei KByte an Daten in den Cookies gespeichert sind, kann der Unterschied erheblich größer sein, insbesondere wenn einer Ihrer Benutzer über langsame Verbindungen auf die Website zugreift (z. B. GPRS über Tethering mit einem Mobiltelefon oder ein Over - überfüllte WLAN-Verbindung in einem stark gestörten Bereich oder wenn Sie Millionen von Besuchen pro Tag erhalten.
Zusammenfassend sind meine Einstellungen für Skripte, die geladen werden müssen, bevor die Seite gerendert werden kann:
- ajax.googleapis.com oder ähnlich
- ursprünglicher Hostname der aufrufenden Seite
- statische Domain ohne Cookies
Informationen zu Ressourcen, die für das Rendern der ersten Seite nicht unbedingt erforderlich sind, sollten Sie so spät wie möglich abrufen und die oben aufgeführte Liste der Einstellungen umkehren (obwohl der Unterschied zwischen dem ursprünglichen Hostnamen und der Domäne ohne Cookies höchstwahrscheinlich nur dann erheblich ist, wenn Sie in großem Maßstab arbeiten ).
With common public resources ... there is a good chance that your visitor's browser has already done that DNS lookup today
Ich persönlich würde mich nicht wohl fühlen, wenn ich mich für meine Website darauf verlassen würde. Ich möchte, dass es in so vielen Situationen wie möglich so schnell wie möglich ist. Unabhängig davon machen Sie gute Punkte. +1Google betreibt ein riesiges Content-Werbenetzwerk, das auf der ganzen Welt verteilt ist und den Content näher an den Nutzer bringt als jeder andere Server, den Sie wahrscheinlich betreiben (denken Sie an Akami, aber im Besitz von Google) Google bringt Ihre Datei schneller als Ihr lokaler Server zum Nutzer ... es sei denn, diese befinden sich in unmittelbarer Nähe zu Ihrem persönlichen Server.
Diese Frage ist bei Stackoverflow immer wieder aufgetaucht, und die obige Antwort scheint immer der Konsens zu sein. Aber von einem realistischen Standpunkt aus gesehen, werden die Gewinne, die durch das Hosting bei einem gegen dem anderen erzielt werden, auf lange Sicht ziemlich gering sein. Das Minimieren, Optimieren und Reduzieren der gesamten HTTP-Anforderungen bietet weitaus bessere Vorteile als das Überprüfen des physischen Standorts. In Situationen, in denen es wichtig zu werden beginnt (ich habe einen Job gemacht, bei dem eine Seite mehr als 1,5 Millionen Mal pro Tag geladen wurde, sodass eine Verbesserung um 5.000 Gigs zu Bandbreiteneinsparungen führte), gibt es normalerweise ein Team von Entscheidungsträgern, die mit der Überprüfung dieser Entscheidungen beauftragt sind.
Persönlich hoste ich normalerweise bei Google aus dem einzigen Grund, dass sie mir das aktuellste Exemplar von dem geben, wonach ich suche.
quelle
Eine wichtige Sache, an die man sich erinnern sollte, ist, dass Browser die Anzahl der Ressourcen, die gleichzeitig von derselben Domain heruntergeladen werden, begrenzt haben, in der Regel zwischen 2 und 6, abhängig vom Browser. Durch die Verwendung einer anderen Domain kann der Browser mehr Dinge gleichzeitig von Ihrer Domain herunterladen.
Die beste Lösung ist daher, ein beliebtes CDN wie ajax.googleapis.com zu verwenden, da auf diese Weise keine Cookies vorhanden sind. Der Benutzer hat wahrscheinlich bereits die DNS-Suche durchgeführt und möglicherweise sogar die Ressource zwischengespeichert. CDNs sind auf Geschwindigkeit optimiert und haben wahrscheinlich einen Server in der Nähe Ihres Benutzers.
Wenn ein CDN nicht in Frage kommt, können Sie, wenn Sie viele Cookies haben oder viele Ressourcen zum Herunterladen haben (Bilder usw.), eine cookiefreie Domain verwenden (die DNS-Suche muss sowieso nur einmal durchgeführt werden).
Wenn Sie nur wenige Ressourcen (nur eine benutzerdefinierte Javascript-Datei) und wenige Cookies (nur eine winzige Sitzungs-ID) von derselben Domain haben.
Gute Ressourcen:
http://www.phpied.com/free-falling-waterfalls/
http://www.stevesouders.com/blog/2009/04/27/loading-scripts-without-blocking/
http://developer.yahoo.com/performance/rules.html
quelle
Obwohl die obigen Antworten den größten Teil Ihrer Frage zerlegt haben, werde ich einen Beitrag zu "Erforderlich für den Seitenstart" leisten. Ich übersetze dies in: Ist dieses Skript für die Nutzung der Website unerlässlich ? Erfahrungsgemäß lautet die Antwort in der Regel nein. Fälle, in denen ich:
Und die YSlow-Leistungsrichtlinien von Yahoo als Referenz.
quelle