page - online jquery cdn




Carica file da una CDN o più CDNS (6)

È consigliabile utilizzare sia CDN che fallback (file locali). Per rispondere alla tua domanda dovresti utilizzare più percorsi CDN come se un CDN fosse inattivo, almeno il resto è attivo e funzionante. Per il down CDN i fallback si alleneranno.

In breve uso sia la migliore pratica che seguo nei miei progetti.

In una pagina web tipica carico quanto segue, tutto da CDN:

  • jQuery
  • Angolare
  • bootstrap
  • Icomoon
  • alcuni plugin angolari

È meglio caricarli da 1 CDN (se possibile) o da CDN diversi? Ci sono buone pratiche per questo o non fa la differenza?


Dovresti cercare di evitare l'uso di CDN come: -

  1. Se la CDN viene eseguita a causa di qualche ragione, ciò influirà anche sulla tua app e potresti anche dover affrontare un downtime che non dovrebbe mai verificarsi in un codice di produzione
  2. per CDN, il browser deve eseguire la scansione per domini diversi e quindi scaricare i file necessari che richiederanno più tempo
  3. Il numero di richieste di domini diversi rallenterà anche il tempo di caricamento dell'app

Il browser ha un limite di 6 richieste alla volta, quindi se fai molte richieste alla volta, saranno in coda e richiederà più tempo, quindi cerca di ridurre al minimo il numero di richieste.

Raccomandazione -

User Bower / Grunt o Webpack nella tua applicazione -

  1. Bower porterà tutte le dipendenze della tua applicazione sul tuo server / macchina locale in modo che non debba cercare domini diversi per ottenere i file richiesti
  2. Grunt concatenerà e unirà tutti i diversi file in un unico file in modo che le sue dimensioni diminuiscano e un numero inferiore di richieste vengano fatte dal browser per scaricare i file.

Se hai qualche dubbio sul pergolato / grugnito, posso aiutarti in questo.


In termini di utilizzo di uno o più CDN, non sarebbe un problema a seconda del numero di componenti che si stanno scaricando dallo stesso hostname, secondo questo articolo di Yahoo UI Team , HTTP / 1.1 suggerisce che i browser dovrebbero limitare il download parallelo a due per nome host. Pertanto, utilizzando più fonti CDN, i nomi host diversi dovrebbero essere una buona pratica.

Forse in caso di utilizzo di componenti correlati solo per evitare accidentalmente la mancata corrispondenza della versione come router angolare e angolare, ad esempio, potresti voler utilizzare lo stesso CDN, ma, se il download per nome host aumenta, creerebbe perdite di caricamento nello stesso modo (almeno per i browser che seguono il suggerimento delle specifiche).

L'utilizzo di un CDN è sicuramente una buona pratica per aumentare le prestazioni di caricamento del tuo sito web. Tuttavia, dovresti considerare l'utilizzo dei CDN più popolari che puoi trovare, aumenterebbe le possibilità di ottenere una versione memorizzata nella cache dei file che stai utilizzando da un sito diverso che utilizza lo stesso file, il che aumenterebbe ancora di più le prestazioni di caricamento del sito web.

Come sottolineato da @JeffPuckett nei commenti, i browser hanno un limite più alto di download simultaneo per server / proxy oggi:

Firefox 2:  2
Firefox 3+: 6
Opera 9.26: 4
Opera 12:   6
Safari 3:   4
Safari 5:   6
IE 7:       2
IE 8:       6
IE 10:      8
Chrome:     6

Rif .: https://.com/a/985704/4488121


L'utilizzo di un CDN è la soluzione giusta per rispondere agli altri, ma l'aggiunta di altri CDN aumenterà fino al punto in cui i tempi di ricerca DNS per ogni CDN potrebbero iniziare a dominare il tempo di download totale.

Quindi cercare di massimizzare ogni CDN cercando di caricare almeno 2 - 6 risorse sarebbe probabilmente il miglior compromesso.


Temo che non ci sia una risposta pallottola d'argento a questa domanda come di solito accade. Ecco i miei 2 centesimi. In opposizione a concentrarsi sulla quantità di connessioni e browser / standard simultanei, voglio guardarlo da una prospettiva diversa.

Ciò che conta di più per gli utenti e il server è il tempo di caricamento della pagina e la disponibilità del servizio. Il tempo di caricamento più veloce viene caricato dalla cache. Maggiore è il numero di utenti che utilizzano file specifici da un determinato CDN , maggiori sono le probabilità di successo della cache.

Sulla base di questo obiettivo, ha senso

  • Carica librerie popolari da CDN (s) popolari, che dipende dall'elenco della libreria può essere la stessa CDN o CDN diversi. Direi che il numero di connessioni HTTP parallele di un browser è un argomento secondario.
  • Unisci e riduci gli script personalizzati e le librerie di terze parti utilizzate raramente in pochi file come per esempio single CSS e single JS e carica dal tuo host o dal tuo CDN (se hai tonnellate di utenti provenienti da località o continenti diversi CDN probabilmente non è un lusso per te).
  • Se gli script basati su CDN non sono stati caricati da CDN per qualsiasi motivo, eseguire il fallback su una copia locale.
  • Se hai questa opzione, seleziona la versione più utilizzata delle librerie, che molto probabilmente non è la più recente.

Vorrei classificare le librerie per le quali è possibile trovare CDN e statistiche di utilizzo per essere popolari, altri - non così tanto, anche se è possibile decidere autonomamente cosa ospitare localmente in base ad altri recommendations .

Per le statistiche, potresti voler usare qualcosa come w3techs:

Scegliere tra "pochi traffico elevato" e "molti siti a basso traffico" potrebbe essere fatto sulla base di alcune ipotesi formulate sul pubblico del tuo sito Web, ma se vuoi assicurarti, puoi provare a misurare il rapporto di hit della cache. Non è semplice, ma qui abbiamo qualche idea .

Ora, per le versioni, dovresti avere un'opzione per cambiare le versioni. Se decidi di andare con la prima opzione "pochi siti ad alto traffico", vale sicuramente la pena di controllare quale versione della libreria tratta dal CDN che usano. Altrimenti, per l'opzione "molto a basso traffico", è preferibile la versione più popolare. Lo stesso w3tech dovrebbe avere statistics .

Potrebbe sembrare un sacco di problemi, ma è fatto raramente (se non una volta), dal momento che le statistiche tendono a cambiare abbastanza lentamente.


Una buona domanda per iniziare a chiedere ora che la maggior parte dei browser supporta HTTP2 è: la mia CDN supporta HTTP2? Se è così è probabile che il pipelining di quelle richieste attraverso 1 CDN sia più veloce. Potrebbe anche salvare ricerche DNS se gli altri CDN non sono già memorizzati nella cache. Se il CDN supporta il push, potrebbe anche aumentare la velocità poiché molte di queste librerie richiedono più file.





cdn