2014-05-15 8 views
7

Gibt es Daten zu Trefferquoten für die verschiedenen JavaScript-CDNs? Es würde helfen, eine Entscheidung darüber zu treffen, welches CDN verwendet werden soll.JavaScript-CDN-Trefferraten entdecken

Sagen Sie zum Beispiel, meine App benötigt jQuery. Zu wissen, welche jQuery-Kopie zwischen den CDNs von Google, MS, CloudFlare usw. wahrscheinlich zwischengespeichert wird, wäre für die Leistung nützlich.

(antizipiert, dass jemand sagen, dies ist keine Programmiersprache Frage Bitte lieber Moderator der Meinung, dass dies ein Programmierer ist eine Frage direkt relevant für ein Programmierproblem zu fragen -.., Wie ich am besten meinen Code der Abhängigkeiten erfüllen)

(Update - Ah ja, wie erwartet, wurde diese nützliche Programmierfrage als Off-Topic markiert, weil sie nicht "ein Tool, eine Bibliothek oder eine favorisierte Off-Site-Ressource" empfiehlt oder findet, obwohl dies nicht der Fall ist Diese Dinge und ohne Kommentar. Weg, um nützliche Fragen mods.)

+0

Es wäre schön, wenn wir einen Tag nur mehrere gleichwertigen Ursprünge für eine Datei und der Browser, wenn eine dieser Ursprünge bereits zwischengespeichert wird und sonst nur eine Anfrage machen würde überprüfen hinzufügen könnten. – gabrielmaldi

+0

Zustimmen und damit verbunden wäre gut, wenn wir einen per-script-Hash-Wert einschließen könnten, den Browser überprüfen könnten, um sicher zu sein, dass es das Skript ist, das wir wollten. – mahemoff

+0

Als zusätzliche Überprüfung nach der URL-Übereinstimmung, für uns Paranoiden, nett :) – gabrielmaldi

Antwort

3

Schließlich ist es egal, so lange wie Sie eine echte CDN, die mehrere Edge-Standorte hat und die pr verwendet oper caching Header auf den Ressourcen. Ich sage das, weil nicht alle Websites die gleiche jquery-Version verwenden, da Sie in Ihrem Browser mehrere jquery-Versionen aus verschiedenen cdns zwischenspeichern. Selbst wenn es sich um die gleichen CDN handelt, besteht eine größere Chance, dass Ihr Browser-Cache gelöscht wird, um Platz für neue Assets zu schaffen, da der Cache des Browsers voll ist oder die Ressource aufgrund des maximalen Alters ausläuft. Das Ziel besteht darin, Ihre wiederkehrenden oder häufigen Besucher mit einer ordnungsgemäß zwischengespeicherten Site zufrieden zu stellen.

Aber Vergleicht man die 304-Header unten zwischen Google und jQuery (MaxCDN):

Googles Verfällt in einem Jahr, der Typ Server und Alternate-Protokoll sind proprietär und einige experimental stuff, die schneller machen kann Dinge. Auf der anderen Seite, wenn Sie die gedienten Header von jQuery betrachten, verfallen sie in mehr als 10 Jahren, verwenden keep-alive und haben eine ETAG.

Ich habe meine eigenen synthetischen Tests gemacht und für jQuery finde ich, dass jQuery's CDN, die von MaxCDN bereitgestellt werden, schneller in Bezug auf Netzwerklatenz und TTFB sind, als die von Google gehosteten. Das war vor langer Zeit, aber Sie können diese Tests hier sehen: Microsoft CDN for jQuery or Google CDN?

Googles Header: http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

HTTP/1.1 304 Not Modified 
Date: Thu, 26 Jun 2014 19:54:52 GMT 
Expires: Fri, 26 Jun 2015 19:54:52 GMT 
Age: 164637 
Server: GFE/2.0 
Alternate-Protocol: 80:quic 

jQuery MaxCDN Header: http://code.jquery.com/jquery-1.11.0.min.js

HTTP/1.1 304 Not Modified 
Date: Sat, 28 Jun 2014 17:39:58 GMT 
Connection: keep-alive 
Last-Modified: Wed, 26 Mar 2014 00:56:22 GMT 
Vary: Accept-Encoding 
ETag: "533225b6-1787d" 
Expires: Thu, 31 Dec 2037 23:55:55 GMT 
Cache-Control: max-age=315360000 
Cache-Control: public 
Server: NetDNA-cache/2.2 
X-Cache: HIT 

finde ich nicht viel Statistiken wie Sie suchen, HTTPArchive ist ein guter Ort, um zu starten, aber auch gefunden