Avantages vs pièges de l'hébergement jQuery localement

Nous extrayons actuellement les bibliothèques jQuery et jQueryUI (et jQueryUI css) du CDN google. J'aime ça parce que je peux appeler google.load("jquery", "1");
et le dernier jQuery 1.x.x sera utilisé.

Maintenant, je dois tirer les bibliothèques localement à cause de la sécurité.

Je suis heureux de les tirer localement, mais je me demande quels sont les autres avantages et pièges à surveiller?

69
demandé sur orolo 2010-09-30 19:59:36

8 réponses

Le principal avantage de les avoir sur un CDN est que les fichiers peuvent être téléchargés en parallèle avec les fichiers téléchargés à partir de votre propre site web. Cela réduit la latence sur chaque page. Ainsi, le revers de la médaille c'est un piège de l'hébergement local - latence accrue. La principale raison en est que les navigateurs sont limités dans le nombre de connexions qu'ils peuvent faire en même temps au même domaine web. Dans IE6, la valeur par défaut était 2 connexions simultanées au même domaine - partagé entre toutes les fenêtres ouvertes de IE!! dans IE8+, il s'est amélioré, par défaut à 6, qui est en ligne avec FF / Chrome, mais quand même, si vous avez beaucoup d'images et que vous n'utilisez pas de sprites, vous connaîtrez une forte latence.

En utilisant un CDN, Je définirais toujours la version de la bibliothèque explicitement plutôt que d'obtenir la dernière. Cela réduit le risque que de nouvelles versions cassent votre code. Pas très probable avec jQuery, mais possible.

L'autre avantage principal de l'utilisation d'un CDN est réduite trafic sur votre site . Si vous payez par Go ou si vous êtes sur un serveur virtuel avec des ressources limitées, vous constaterez peut-être que les performances globales du site augmentent et que les coûts d'hébergement diminuent lorsque vous exploitez une partie de votre contenu sur un CDN public.

Assurez-vous de lire également l'autre réponse à cette question par @revaxarts. C'est un très bon truc

89
répondu Daniel Dyson 2016-09-27 19:43:12

J'utilise toujours le CDN (Content Delivery Network) de Google. Mais juste au cas où c'est hors ligne:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="jquery-1.4.2.min.js"><\/script>')</script>

Prenez le jQuery de Google CDN et le repli sur local si nécessaire

Modifier : Si vous n'avez pas besoin de prendre en charge IE6 et que votre site utilise partiellement https, vous pouvez également supprimer http:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
125
répondu Xaver 2018-09-20 07:54:55

D'autres ont couvert les prestations. Les pièges:

  • Si vous n'incluez que le contenu de votre propre serveur, c'est un serveur qui doit être en cours d'exécution-et non bloqué par des pare-feu, etc.-pour que votre site fonctionne. Tirez le script d'un tiers et maintenant ce sont deux serveurs qui doivent être en cours d'exécution et débloqués pour que votre site fonctionne.

  • Tout site à partir duquel vous tirez <script> peut contrôler complètement l'expérience de l'utilisateur sur votre site. Si Google se sentaient mal ils pourraient mettre quelque chose dans leur copie de jQuery pour enregistrer vos touches, voler des informations personnelles de la page sur laquelle vous êtes pour attacher dans leur base de données de suivi web, vous faire poster "j'aime Google!"commentaires à chaque forme, et ainsi de suite.

Google ne va probablement pas le faire, mais c'est un facteur hors de votre contrôle, et certainement quelque chose à craindre avec d'autres services d'hébergement de scripts. Il y a eu des incidents auparavant où les scripts de statistiques ont été compromis avec des logiciels malveillants chargeur.

Avant d'inclure un script d'un tiers-même sur une seule page de votre site-vous devez leur faire confiance à 100% avec toutes les fonctionnalités accessibles aux utilisateurs visibles sur ce nom d'hôte (y compris les fonctions d'administration Web).

19
répondu bobince 2010-09-30 16:34:10

Google CA:

  • mise en cache, bonne pour la performance, plus d'utilisateurs susceptibles de l'avoir déjà, et il télécharge en parallèle
  • si jamais, heaver interdit cdn descend. vous êtes foutu.
  • si une nouvelle version casse vos plugins existants ou votre site, vous le saurez peut-être trop tard

Localement:

  • le développement sans être connecté au réseau est possible
  • peut encore obtenir des avantages de performance par gzipping, en plus de minifying
12
répondu Moin Zaman 2010-09-30 16:04:06

Je préfère utiliser ma version locale, car je n'ai pas de contrôle sur ce qu'ils vont fournir. Par exemple, Je ne veux pas que mes utilisateurs soient affectés par google-analytics ou quelque chose de similaire, car il s'agit d'un problème juridique dans mon pays.

10
répondu Dr.Molle 2010-09-30 16:30:47

Avantages: (spécifiquement pour le CDN de Google)

  1. télécharge en parallèle avec vos fichiers. D'autres réponses abordent cette question plus loin
  2. les serveurs de Google sont susceptibles d'être en mesure de livrer physiquement le contenu plus rapidement
  3. les bibliothèques et frameworks communs peuvent déjà se trouver sur la machine de l'utilisateur, car le cache HTTP d'un CDN est universel sur tous les sites
  4. votre bande passante n'aurait pas à servir de gros fichiers de bibliothèque
8
répondu Praveen Prasad 2017-01-21 05:44:32

Pratiquement toutes les façons dont vous le regardez, l'utilisation du CDN de Google est une bonne chose.

Les performances seront améliorées (quoique assez marginalement, sauf si votre site est vraiment occupé), et la quantité de données que vos serveurs doivent transmettre diminuera (bien que jQuery ne soit pas vraiment une chose massive à télécharger), etc.

La seule raison pour laquelle vous ne voudriez pas l'utiliser est si vous ne faites pas confiance à Google. En l'utilisant, vous donnez effectivement à Google une fenêtre d'information supplémentaire dans votre site profil de trafic, y compris la connaissance des URL que vous ne voudrez peut-être pas rendre publiques (par exemple, les zones sécurisées de votre site).

Si vous êtes paranoïaque à propos de la sécurité, cela peut suffire à vous persuader de ne pas les utiliser (après tout, l'héberger vous-même ne va pas vraiment ralentir votre site), mais en général, la plupart des gens adopteraient le point de vue pragmatique que Google en sait déjà assez sur leur site que l'ajout de cela ne fera

3
répondu Spudley 2010-09-30 16:19:16

Pour moi, cela dépend vraiment de la quantité de contrôle que vous désirez avoir. Si vous êtes comme moi et avez besoin de développer sur l'hôte local lorsque vous travaillez et voyagez. Avoir les fichiers jQuery locaux est mieux que de l'avoir hébergé sur google ou bien où.

0
répondu WebGoonie 2013-08-06 14:57:40