Frage

Ich habe bemerkt, dass nur im letzten Jahr oder so, viele große websites haben die gleiche Veränderung der Art und Weise, Ihre Seiten aufgebaut sind.Jeder bewegt hat, Ihre Javascript-Dateien von der gehostet wird auf der gleichen Domäne wie die Seite selbst (oder eine subdomain von diesem), um die gehostet wird auf eine anders benannte Domäne.

Es ist nicht einfach Parallelisierung

Nun, es ist eine bekannte Technik, die Verbreitung der Komponenten Ihrer Seite über mehrere domains zu parallelisieren herunterladen. Yahoo empfiehlt es so wie viele andere.Für Beispiel, www.example.com ist, wo Sie Ihre HTML gehostet wird, dann setzen Sie Bilder auf images.example.com und javascripts auf scripts.example.com.Dieser wird sich um die Tatsache, dass die meisten Browser begrenzen die Anzahl der gleichzeitigen verbindungen pro server, um gut zu sein Netto-Bürger.

Die oben ist nicht was ich bin reden über.

Es ist nicht einfach Umleitung auf ein content-delivery-Netzwerk (oder vielleicht ist es-siehe unten-Frage)

Was ich spreche, ist das hosting Javascripte speziell auf einer völlig anderen domain.Lassen Sie mich das genauer.Gerade in den letzten Jahr oder so, habe ich bemerkt, dass:

youtube.com hat verschoben sein .JS-Dateien zu ytimg.com

cnn.com hat verschoben sein .JS-Dateien zu cdn.turner.com

weather.com hat verschoben sein .JS-Dateien zu j.imwx.com

Nun, ich weiß über das content-delivery-Netzwerke wie Akamai die Spezialisierung in der Vergabe für große websites.(Der name "cdn" in Turner ' s special domain Hinweise, die uns in die Bedeutung dieses Begriffs hier).

Aber beachten Sie mit diesem Beispiel, jeder Standort hat seine eigenen speziell registrierte domain für diesen Zweck, und es ist nicht die Domäne von ein content delivery network oder anderen Infrastruktur-Anbieter.In der Tat, wenn Sie versuchen zu Last die home-Seite aus-die meisten dieser Skript-Domänen, die Sie in der Regel redirect zurück auf die Haupt-domain des Unternehmens.Und wenn Sie ein reverse-lookup der IPs beteiligt, Sie manchmal erscheinen, zeigen Sie auf ein CDN Unternehmens-Servern, manchmal nicht.

Warum kümmert es mich?

Nachdem früher arbeitete Sie an zwei verschiedene security-Firmen, die ich bisher gemacht paranoid schädliche Javascripts.

Als Ergebnis, Folge ich der Praxis der Whitelist-Seiten, dass ich Javascript und andere aktive Inhalte wie Java) zu laufen.Als Ergebnis, machen Sie eine Website wie cnn.com richtig funktioniert, muss ich manuell setzen cnn.com in einer Liste.Es ist ein Schmerz in den Hintern, aber ich bevorzuge es über die alternative.

Wenn Leute Dinge wie scripts.cnn.com zu parallelisieren, das funktionierte gut mit der entsprechenden Verwendung von Platzhaltern nach.Und wenn Leute verwendet subdomains aus der CDN-Unternehmen, Domänen, konnte ich nur zulassen das CDN-Unternehmen main domain-mit wildcard in front und töten viele Vögel mit einem Stein (wie *.edgesuite.net und *.akamai.com).

Jetzt habe ich entdeckt, dass (Stand 2008) ist dies nicht genug.Jetzt habe ich zu stöbern, die in den Quelltext einer Seite möchte ich auf die whitelist, und herauszufinden, was "geheim" - domain (oder domains) diese Website nutzt zum speichern von Javascript auf.In einigen Fällen habe ich festgestellt, ich habe zu ermöglichen drei verschiedenen Bereichen, um eine Arbeit vor Ort.

Warum all diese großen Websites tun dies?

EDIT:OK als "onebyone" hingewiesen, es scheint verwandt zu sein CDN Bereitstellung von Inhalten.Also lassen Sie mich zu ändern die Frage etwas basierend auf seiner Forschung...

Warum ist weather.com Verwendung j.imwx.com statt twc.vo.llnwd.net?

Warum ist youtube.com Verwendung s.ytimg.com statt static.cache.l.google.com?

Es muss eine Argumentation, die dahinter steckt.

War es hilfreich?

Lösung

Ihre follow-up-Frage ist im wesentlichen:Unter der Annahme einer populären website mit einem CDN, warum würden Sie Ihre eigene TLD wie imwx.com statt einer subdomain (static.weather.com) oder die CDN-Domäne?

Nun, der Grund für die Verwendung einer domain, die Sie kontrollieren Vergleich der CDN-Domäne, die Sie behalten stets die Kontrolle-Sie könnte sich möglicherweise noch ändern CDNs vollständig und nur ändern müssen ein DNS-Eintrag, im Vergleich mit update-links in 1000 Seiten/Anwendungen.

Also, warum verwenden Unsinn domain-Namen?Gut, eine große Sache mit helper-Dateien wie .js-und .css ist, dass Sie wollen, dass Sie zwischengespeichert werden stromabwärts von proxies und Menschen die Browser so viel wie möglich.Wenn eine person trifft gmail.com und alle .js geladen wird, aus Ihren browser-cache, die Seite scheint flotter zu Ihnen, und es spart auch Bandbreite auf dem server (jeder gewinnt).Das problem ist, dass, wenn Sie senden HTTP-Header für richtig aggressiv Zwischenspeichern (d.h.cache mich für eine Woche oder ein Jahr oder für immer), diese Dateien sind nicht immer zuverlässig vom server geladen und Sie können keine änderungen/fixes zu Ihnen, weil die Dinge brechen in people ' s Browser.

Also, was Unternehmen tun müssen, ist die Bühne diese änderungen und tatsächlich ändern sich die URLs aller dieser Dateien, um die Menschen zwingen Browser neu laden.Radfahren durch domains wie "a.imwx.com", "b.imwx.com" etc.ist, wie dies getan wird.

Durch die Nutzung Unsinn domain-Namen, die Javascript-Entwickler und Ihre Javascript-sysadmin/CDN liaison Kollegen können Ihre eigenen domain-Namen und DNS, die Sie schieben diese Veränderungen durch, dass Sie zur Rechenschaft/für autonome.

Dann, wenn jede Art von Cookies blockieren oder script-blocking beginnt geschieht auf der TLD, Sie wechseln nur von einem Unsinn TLD zu kyxmlek.com oder was auch immer.Sie nicht haben, um sorgen über versehentlich etwas böse hat Gegenmaßnahme Nebenwirkungen auf alles *.google.com.

Andere Tipps

Begrenzungs Cookie Verkehr?

Nachdem ein Cookie auf eine bestimmte Domäne festgelegt ist, wird jede Anfrage zu dieser Domäne haben das Cookie an den Server zurückgesendet. Jede Anfrage!

Das kann schnell addieren.

Viele Gründe:

CDN - ein anderer DNS-Name macht es einfacher, statische Vermögenswerte an ein Inhaltsverteilungsnetz verschieben

Parallelismus - Bilder, Stylesheets und statische Javascript zwei andere Verbindungen verwenden, die anderen Anforderungen werden nicht wie Ajax-Rückrufe gehen zu blockieren, oder dynamische Bilder

Cookie-Verkehr - genau richtig - vor allem mit Websites, die eine Gewohnheit zu speichern weit mehr als eine einfache Session-ID in Cookies

haben

Gestaltung laden - auch ohne CDN gibt es immer noch gute Gründe, die statischen Vermögenswerte auf weniger Webserver optimiert Gastgeber extrem schnell zu einer großen Anzahl von Datei-URL-Anfragen zu reagieren, während der Rest der Seite auf eine größere Anzahl gehostet wird von Servern mehr Prozessor-intensive dynamische Anfragen

reagiert

update - zwei Gründe, warum Sie nicht den DNS-Namen des CDN verwenden. Der Client-DNS-Name fungiert als Schlüssel für den richtigen „hive“ von Vermögenswerten der CDN-Caching ist. Auch seit Ihrem CDN eine Ware Service ist, können Sie den Anbieter wechseln, indem Sie den DNS-Eintrag zu ändern -., So dass Sie keine Seite Änderungen vermeiden können, Neukonfiguration oder Umschichtung auf Ihrer Website

Ich denke, es ist etwas in der Theorie CDN:

Zum Beispiel:

$ host j.imwx.com
j.imwx.com              CNAME   twc.vo.llnwd.net
twc.vo.llnwd.net        A       87.248.211.218
twc.vo.llnwd.net        A       87.248.211.219
$ whois llnwd.net
<snip ...>
Registrant:
  Limelight Networks Inc.
  2220 W. 14th Street
  Tempe, Arizona 85281-6945
  United States

Limelight ist ein CDN.

Zwischenzeit:

$ host s.ytimg.com
s.ytimg.com             CNAME   static.cache.l.google.com
static.cache.l.google.com       A       74.125.100.97

Ich vermute, dass dies ein CDN für statische Inhalte intern von Google laufen.

$ host cdn.turner.com
cdn.turner.com A record currently not present

Na ja, kann ‚nicht gewinnen alle.

By the way, wenn Sie Firefox mit dem NoScript-Add-on, dann wird es den Prozess der Jagd durch Quelle automatisieren und GUI-fy den Prozess der weißen Listen. Grundsätzlich klicken Sie auf dem NoScript-Symbol in der Statusleiste, sind Sie eine Liste von Domains mit Optionen gegeben, um vorübergehend oder dauerhaft weiße Liste, darunter „Alle auf dieser Seite“.

implementiert ich diese Lösung etwa zwei bis drei Jahren bei einem früheren Arbeitgeber, wenn die Website begann aufgrund einer Implementierung Legacy-Web-Server überlastet zu werden. Durch Bewegen der CSS und Layoutbilder aus auf einem Apache-Server, reduzierten wir die Last auf dem Hauptserver und erhöht die Geschwindigkeit kein Ende.

Allerdings habe ich immer den Eindruck, dass Javascript-Funktionen können nur innerhalb der gleichen Domäne wie die Seite selbst zugegriffen werden. Neuere Websites scheinen diese Einschränkung nicht zu haben. Wie Sie erwähnen, viele haben Javascript-Dateien auf separaten Sub-Domains oder sogar völlig frei stehende Domains insgesamt

Kann mir jemand einen Zeiger geben, warum dies jetzt möglich ist, wenn es nicht ein paar Jahren war?

Es ist nicht nur Javascript, die Sie zu verschiedenen Domänen aber so viele Vermögenswerte wie möglich bewegen können, werden Leistungsverbesserungen ergeben.

Die meisten Browser haben eine Begrenzung für die Anzahl von simultanious Verbindungen, die Sie zu einer einzelnen Domäne machen (ich denke, es ist rund 4) so, wenn Sie viele Bilder haben, js, css, etc Theres halten oft in jeder Datei herunterzuladen .

Sie können so etwas wie YSlow und FireBug anzuzeigen verwenden, wenn jede Datei vom Server heruntergeladen wird.

Mit dem Vermögen auf separaten Domänen Sie die Last auf Ihrem primären verringern und kann mehr simultanious Verbindungen haben und mehrere Dateien zu einem bestimmten Zeitpunkt herunterladen.

Wir vor kurzem eine Realestate Website, die viele Bilder hat (die Häuser, duh: P), die dieses Prinzip für die Bilder verwendet, so dass es viel schneller ist, die Daten zur Liste

.

Wir haben dies auch auf vielen anderen Websites verwendet werden, die eine hohe Asset volumne haben.

Ich glaube, Sie Ihre eigene Frage beantwortet.

Ich glaube, das Problem ist sicherheitsrelevanten und nicht WARUM.

Vielleicht eine neue Meta-Tag ist, um die gültige CDNs für die betreffende Seite beschreiben würde, dann alles, was wir brauchen, ist ein Browser-Add-on, sie zu lesen und sich entsprechend zu verhalten.

Wäre es aufgrund von Spam und Content-Filter getan blockieren? Wenn sie seltsam Domains dann ist es schwieriger, herauszufinden, und / oder Sie werden blockiert am Ende etwas, das Sie wollen.

Keine Ahnung, nur ein Gedanke.

Wenn ich ein großer Name war, Multi-Marken-Unternehmen, ich denke, dieser Ansatz sinnvoll ist, weil Sie den Javascript-Code zur Verfügung als Bibliothek machen wollen. Ich möchte so viele Seiten werden so konsequent wie möglich machen im Umgang mit Dingen wie Adressen, Zustandsnamen, Postleitzahlen. AJAX wahrscheinlich macht dieses Anliegen im Vordergrund.

In dem aktuellen Internet-Geschäftsmodell, Domains sind Marken, keine Netzwerknamen. Wenn Sie gekauft bekommen oder Spin-off-Marken, beenden Sie mit einer Menge von Domain-Änderungen auf. Dies ist ein Problem, selbst für die prominenten Standorten.

Es gibt Links noch diesen Punkt zu nützlichen Dokumenten in * .netscape.com und * .mcom.com, die lange weg sind.

Wikipedia für Netscape sagt:

  

"Am 12. Oktober 2004 werden die beliebte Entwickler-Website Netscape DevEdge heruntergefahren wurde von AOL. DevEdge war eine wichtige Ressource für Internet-Technologien, die Aufrechterhaltung endgültige Dokumentation über den Netscape-Browser, Dokumentation über die damit verbundene Technologien wie HTML und JavaScript, und beliebter Artikel geschrieben von Industrie und Technologieführern wie Danny Goodman. Einige Inhalte von DevEdge wurde auf der Mozilla-Website veröffentlicht. "

So, das wäre, in weniger als 10 Jahren:

  • Mosaic Communications Corporation
  • Netscape Communications Corporation
  • AOL
  • AOL Time Warner
  • Time Warner

Wenn Sie den Code in einer Domäne setzen, der NICHT ein Markenname ist, behalten Sie eine Menge an Flexibilität, und Sie haben nicht alle Einstiegspunkte, Zugangskontrolle und Code Verweise auf Refactoring, wenn die Web-Sites sind wieder- genannt.

Ich habe mit einem Unternehmen gearbeitet, das dies tut. Sie sind in einem Rechenzentrum w / ziemlich gut Peering, so dass die CDN Argumentation nicht so groß für sie ist (vielleicht würde es helfen, aber sie tun es nicht aus diesem Grund). Deren Grund ist, dass sie mehrere Webserver parallel laufen, die gemeinsam ihre dynamische Seiten (PHP-Skripte) handhaben, und sie dienen Bilder und einige Javascript aus einer separaten Domäne, auf dem sie einen schnellen, leichten Webserver wie lighttpd oder thttpd verwenden zu servieren Bilder und statischer Javascript.

PHP erfordert PHP. Static Javascript und Bilder nicht. Vieles kann aus einem voll funktionsfähigen Web-Server entfernt werden, wenn alles, was Sie brauchen, ist das absolute Minimum zu tun.

Sicher, sie könnten wahrscheinlich einen Proxy verwenden, die Anforderungen an ein bestimmtes Unterverzeichnis auf einen anderen Server umgeleitet, aber es ist einfacher, nur all statischen Inhalte mit einem anderen Server zu behandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top