Il augmente le parallélisme disponible. (La plupart des navigateurs ne télécharger les 3 ou 4 fichiers à la fois à partir de n'importe quel site.)
Elle augmente les chances qu'il y aura un cache-hit. (Comme de plus en plus de sites de suivre cette pratique, de plus en plus d'utilisateurs ont déjà le fichier prêt.)
Il s'assure que la charge utile sera aussi petite que possible. (Google pouvez pré-compresser le fichier dans un large éventail de formats (comme GZIP ou DEFLATE). Cela rend le temps de téléchargement très petite, parce qu'il est super compressé et il n'est pas compressé à la volée.)
Il réduit la quantité de bande passante utilisée par votre serveur. (Google est fondamentalement offre gratuitement la bande passante).
Il s'assure que l'utilisateur obtiendra un proche géographiquement de réponse. (Google a des serveurs partout dans le monde, la poursuite de la diminution de la latence.)
(Facultatif) , Ils seront automatiquement garder vos scripts à jour. (Si vous le souhaitez pour "voler par le siège de votre pantalon," vous pouvez toujours utiliser le dernière version d'un script qu'ils offrent. Ces pourraient corriger des failles de sécurité, mais en général seulement briser votre stuff.)
+1 Excellente réponse.
J'aime la façon dont vous de garder à venir avec de plus en plus de raisons. +1 rien que pour cela.
6. Googles serveurs sont probablement plus rapide que la vôtre! Je ne suis pas sûr que le point 3 est vraiment pertinent, car n'importe qui peut rapetisser tout aussi bien que google. +1 pour une grande réponse 🙂
N'hésitez pas à ajouter que, mais en général, c'est la connexion du client qui est le goulot de la bouteille. Merci!
Je me sens comme #3 a probablement plus à voir avec gzip et comme, depuis jQuery donne déjà une version compacte.
Et un autre +1 pour moi, pour l'inscription des raisons que je n'aurais pas pensé. De Plus j'ai supprimé mon propre sucky réponse (j'ai pensé que c'était un peu acceptables jusqu'à ce que Monsieur je-Sais-Pourquoi-Pour-Utiliser-Google-CDN est arrivé 🙂
Dieu tout le monde était en train de m'attaquer , je viens d'envoyer mes idées , et a été accepté , LOL
Pas vous attaquer, attaquer la accepté de répondre à ce qui n'était pas aussi bon que la prochaine réponse. C'est la façon dont la communauté Q&A fonctionne. Essayez de formater votre réponse un peu plus professionnelle, la prochaine fois, et de limiter votre critique de la question de l'utile, constructif genre.
merci et c'est pourquoi j'ai supprimé mon propre réponse
+1 pour de bonnes raisons
#6 n'est pas bon pour l'argument et en fait nie #2. Voir ce DONC réponse qui explique pourquoi. La version courte est que le temps d'expiration du cache est plus courte que les moins de versions spécifiques sont référencés.
Donc, en utilisant un CDN pour jQuery et d'autres bibliothèques comme font-awesome serait une meilleure option?
Est-ce par rapport à d'autres Cdn d'avoir un fichier local? Si c'est d'autres réseaux de diffusion de contenu, cette réponse est pertinente. Mais si vous comparez à l'aide de fichiers locaux, et bien, les choses peuvent être différentes.
Il y a plusieurs cas, vous pouvez pas souhaitez utiliser jQuery à partir de Google CDN:
Lorsque vous êtes la construction d'un intranet
application lorsque le serveur web est
hébergé sur le même réseau que l'
clients. Si vous utilisez Google CA
jQuery, vous aurez à effectuer un appel à l'
l'internet plutôt que d'un serveur web
sur le réseau local. Cette
augmente la bande passante de votre
de l'organisation, et est plus lent.
Lorsque vous voulez exécuter votre application en mode hors connexion. (Très liée à la première question) Si vous avez besoin de travailler sur un environnement de développement (géré par exemple avec Bower), vous devez être en mesure pour que votre application fonctionne sans connexion internet (ie: dans un train 🙂
Lorsque vous avez besoin de personnaliser. Par exemple, si vous utilisez Grunt à la construction de la bibliothèque afin de n'utiliser que certains modules ou de réglage de la AMD nom
Lorsque vous êtes au service des pages sur SSL
qui nécessitent jQuery. Vous devriez
servir le JavaScript sur SSL comme
bien que votre page pour éviter de sécurité
les problèmes et les avertissements.
Aussi, Microsoft héberge jQuery sur leur CA. C'est un autre choix comparable à l'utilisation de Google hébergé jQuery.
Ce étude par TJ VanToll m'a convaincu que c'est mieux pour concaténer jQuery avec d'autres scripts plutôt que de le charger à partir d'un CDN.
La raison est le temps de latence impliqués dans l'extraction de jQuery sur des appareils mobiles:
"En 2012, la moyenne de RTT temps sur un réseau de téléphonie mobile aux États-unis
a 344ms. Et que 344ms s'applique non seulement à chaque requête HTTP
lequel le moyen de la page web permet désormais à 93 de la–, mais aussi la recherche DNS
et une connexion TCP... Alors que la moyenne des Rtt sont à améliorer, il y a seulement
des petits gains, comme les réseaux actuels sont à l'intérieur d'un
petit facteur de la limite théorique dictées par la physique."
Il cite aussi ce post de Steve Souders qui montre pourquoi vous êtes réellement peu probable d'obtenir la mise en cache des prestations de l'utilisation d'un CDN:
"En raison de la fragmentation des fournisseurs de rdc, jQuery versions, et
l'utilisation de protocole (http vs https), les chances d'obtenir un cache du CDN
hit sont scandaleusement bas et le téléchargement à partir d'un domaine externe a
le potentiel pour effectuer non pas un, mais trois aller-retour (une recherche DNS,
une connexion TCP, et un HTTP GET)."
Ceci n'est plus vrai pour HTTP2 et SPDY. Aujourd'hui, vous pouvez héberger toutes vos ressources externes dans un CDN comme Cdnjs.com ou quelque chose et tous les fichiers seront téléchargés à l'aide de la même demande. C'est essentiellement la même que les concaténer.
Le plus grand avantage est de la mise en cache. La théorie est que si un visiteur a visité un site qui était en train de charger leurs bibliothèques JavaScript, dire jQuery par exemple à partir de la Google CA, puis quand ils visitent votre site web, la bibliothèque est déjà dans le navigateur de l'utilisateur cache et n'aura pas à le télécharger à nouveau. Cela sonne bien en théorie.
Cette réponse est manifestement sous-estimée. Il fournit également valide "cons" pour les "pro" accepté la réponse ci-dessus.
Le lien est mort.
Le lien ne serait pas morte si l'auteur de l'étude ont effectivement utilisé un CA 😉 L'erreur est: [function.exiger]: failed to open stream: No such file or directory in /homepages/41/d222999437/htdocs/wp-content/themes/prose/functions.php
L'article n'est pas bien pensé. Il est dit que la moins fréquente jQuery libs sont servis par Google CDN près de 0,5% de toutes les pages. Lors d'un général de la session de navigation, je visite des chargements de pages, surtout ces petits liens à des sites comme par exemple celui qui l'héberge. Ou les sites de blog. J'ai facilement visiter plus de 30 sites, une journée, une semaine après que les chances de ne pas l'avoir mis en cache sont assez minces. Bien qu'il ne peut pas être mis en cache pour l'ensemble de votre utilisateur, les gens qui font un usage intensif d'internet sera presque toujours les avoir mis en cache, parce qu'ils visiter beaucoup plus de 1 de domaine unique au total.
Une raison majeure de ne PAS laisser Google héberger votre jQuery, que beaucoup de gens ne pensent pas, c'est que de ne pas télécharger si vous êtes en Chine. Il est bloqué avec de nombreux autres scripts, les polices, etc... hébergé par Google par CDN. Si vous avez besoin pour atteindre un public Chinois, vous êtes mieux de toujours utiliser une chute en arrière hébergé sur votre propre serveur. API Google Bloqué en Chine
Je suis en désaccord @tmthydvnprt. La question est d'opinions, de sorte que la majorité de la faute en incombe, pour commencer, mais cela ne veut répondre à la question.
Je suis venu ici à la même la même chose. Si les utilisateurs sont en Chine, la plupart de tout ce à partir de Google est bloqué par le grand pare-feu. Cependant, ce n'est probablement pas un problème car beaucoup de gens en Chine utiliser un service de VPN, et vous ne voulez probablement pas à cibler le marché Chinois de toute façon.
Avec la CAN avec un Travailleur des Services, vous pouvez télécharger le CA une fois dans le client de la durée de vie, et pas à chaque fois que vous mettez à jour votre code.
C'est parce que:
(La plupart des navigateurs ne télécharger les 3 ou 4 fichiers à la fois à partir de n'importe quel site.)
(Comme de plus en plus de sites de suivre cette pratique, de plus en plus d'utilisateurs ont déjà le fichier prêt.)
(Google pouvez pré-compresser le fichier dans un large éventail de formats (comme GZIP ou DEFLATE). Cela rend le temps de téléchargement très petite, parce qu'il est super compressé et il n'est pas compressé à la volée.)
(Google est fondamentalement offre gratuitement la bande passante).
(Google a des serveurs partout dans le monde, la poursuite de la diminution de la latence.)
(Si vous le souhaitez pour "voler par le siège de votre pantalon," vous pouvez toujours utiliser le dernière version d'un script qu'ils offrent. Ces pourraient corriger des failles de sécurité, mais en général seulement briser votre stuff.)
Il y a plusieurs cas, vous pouvez pas souhaitez utiliser jQuery à partir de Google CDN:
Lorsque vous êtes la construction d'un intranet
application lorsque le serveur web est
hébergé sur le même réseau que l'
clients. Si vous utilisez Google CA
jQuery, vous aurez à effectuer un appel à l'
l'internet plutôt que d'un serveur web
sur le réseau local. Cette
augmente la bande passante de votre
de l'organisation, et est plus lent.
Lorsque vous voulez exécuter votre application en mode hors connexion. (Très liée à la première question) Si vous avez besoin de travailler sur un environnement de développement (géré par exemple avec Bower), vous devez être en mesure pour que votre application fonctionne sans connexion internet (ie: dans un train 🙂
Lorsque vous avez besoin de personnaliser. Par exemple, si vous utilisez Grunt à la construction de la bibliothèque afin de n'utiliser que certains modules ou de réglage de la AMD nom
Lorsque vous êtes au service des pages sur SSL
qui nécessitent jQuery. Vous devriez
servir le JavaScript sur SSL comme
bien que votre page pour éviter de sécurité
les problèmes et les avertissements.
Aussi, Microsoft héberge jQuery sur leur CA. C'est un autre choix comparable à l'utilisation de Google hébergé jQuery.
src="//ajax.googleapis.com/..."
, le travail.Ce étude par TJ VanToll m'a convaincu que c'est mieux pour concaténer jQuery avec d'autres scripts plutôt que de le charger à partir d'un CDN.
La raison est le temps de latence impliqués dans l'extraction de jQuery sur des appareils mobiles:
Il cite aussi ce post de Steve Souders qui montre pourquoi vous êtes réellement peu probable d'obtenir la mise en cache des prestations de l'utilisation d'un CDN:
Le plus grand avantage est de la mise en cache. La théorie est que si un visiteur a visité un site qui était en train de charger leurs bibliothèques JavaScript, dire jQuery par exemple à partir de la Google CA, puis quand ils visitent votre site web, la bibliothèque est déjà dans le navigateur de l'utilisateur cache et n'aura pas à le télécharger à nouveau. Cela sonne bien en théorie.
Les bénéfices partagés ici et d'ailleurs sont toutes théoriques. Viens de tomber sur une analyse approfondie de l'utilisation d'un CDN et si elle fournit le rendement attendu prestations.
http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
Une raison majeure de ne PAS laisser Google héberger votre jQuery, que beaucoup de gens ne pensent pas, c'est que de ne pas télécharger si vous êtes en Chine. Il est bloqué avec de nombreux autres scripts, les polices, etc... hébergé par Google par CDN. Si vous avez besoin pour atteindre un public Chinois, vous êtes mieux de toujours utiliser une chute en arrière hébergé sur votre propre serveur.
API Google Bloqué en Chine
Quelques bonnes réponses ici à la question "Pourquoi vous devriez..." et "Pourquoi vous ne devriez pas..."
Je veux simplement ajouter une liste d'alternatives à Google si vous ne souhaitez charger jQuery à partir d'un CDN.
Mais pour résumer, vous êtes essentiellement l'amélioration de l'ensemble de votre site web/la performance de l'application.
Avec la CAN avec un Travailleur des Services, vous pouvez télécharger le CA une fois dans le client de la durée de vie, et pas à chaque fois que vous mettez à jour votre code.