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. +1