Servir des bibliothèques javascript à partir d'un CDN au lieu de votre propre serveur présente d'énormes avantages. Moins de travail pour votre serveur, possibilité pour le CDN d'avoir une copie plus proche de l'utilisateur que de votre serveur, mais surtout une bonne chance que le navigateur de votre utilisateur l'ait déjà mis en cache à partir de cette URL. Le dernier signifie moins de travail total pour tout le monde, donc c'est clairement une victoire partout, et il est plus probable que plus nous (les développeurs) comptons sur les CDN pour servir notre javascript.
Mais les CDN javascript populaires (Google, Microsoft, autres?) N'hébergent qu'un petit nombre de fichiers. Pour d'autres, nous avons le choix de les héberger nous-mêmes, ou ... d'utiliser le serveur de contrôle de source comme une sorte de CDN. Il est peu probable que Github ou similaire dispose d'un cache distribué géographiquement de fichiers optimisé pour une diffusion mondiale. Mais si c'est une pratique courante, il y a de bonnes chances que le navigateur de l'utilisateur l'ait mis en cache. L'argument du déchargement du travail de nos serveurs vers github n'est valable que si Github s'est volontairement porté volontaire pour le faire.
Alors, est-ce une pratique courante? Devrions-nous nous encourager mutuellement à faire cela? Est-ce que Github vous dérange? Ont-ils une politique officielle énoncée?
Réponses:
Vous ne devriez pas faire cela pour les fichiers JavaScript si vous vous souciez des performances ou de la compatibilité IE9.
GitHub ne sert pas ses fichiers "bruts" avec un en-tête d'expiration lointain. Sans possibilité de mise en cache intersites, vous perdez le plus grand avantage de l'utilisation d'un CDN public pour héberger votre JavaScript. En fait, utiliser GitHub en tant que CDN sera plus lent que simplement héberger les fichiers sur votre propre serveur après la première demande de fichier de chaque utilisateur (en supposant que vous configuriez correctement la mise en cache sur votre serveur).
Un autre problème est que GitHub ne sert pas de fichiers «bruts» avec un en-tête de type de contenu qui correspond au type MIME réel du fichier. Dans IE9 (et peut-être dans d'autres navigateurs / proxies / pare-feu / etc.), les fichiers JavaScript qui ne sont pas servis avec le type de contenu correct sont bloqués par défaut. Vous pouvez le voir en action sur la page de démonstration BlockUI, par exemple:
la source
La liaison aux fichiers "bruts" de GitHub présente certains problèmes, comme le souligne la réponse de Dave Ward .
Je vous suggère de consulter les pages GitHub en option.
Lisez cet article:
GitHub en tant que CDN. Mettez en cache vos scripts Javascripts, feuilles de style et ressources Web avec les pages GitHub.
la source
Cela a été récemment demandé dans les forums de support de github , et la réponse officielle était que ça allait.
Cela dit, je suis d'accord avec d'autres réponses: github n'a jamais vraiment été conçu pour être un CDN, alors que Google et Microsoft ont une infrastructure spécifique pour cela.
la source
C'est bien pour le prototypage / les trucs personnels, mais pour la production, je regarderais:
http://www.cdnjs.com/
http://cachedcommons.org/- n'est plus disponiblela source
Je le fais depuis des mois maintenant, j'avais quelques inquiétudes en premier, mais c'est totalement cool si vous n'avez aucun problème avec vos fichiers disponibles au public, utilisez des versions minifiées si vous vous en souciez.
Mais quand même - Google et MS régissent l'espace pour les modèles jQuery et jQuery - donc je les utilise pour cela.
la source