El servicio de bibliotecas javascript desde un CDN en lugar de su propio servidor tiene enormes ventajas. Menos trabajo para su servidor, posibilidad de que la CDN tenga una copia más cercana al usuario que su servidor, pero lo más importante es una buena posibilidad de que el navegador de su usuario ya la tenga en caché desde esa URL. El último significa menos trabajo total para todos, por lo que claramente es una victoria en general, y es más probable que entre más a menudo (los desarrolladores) dependamos de los CDN para servir nuestro javascript.
Pero los populares CDN de JavaScript (¿Google, Microsoft, otros?) Solo alojan una pequeña cantidad de archivos. Para otros, tenemos la opción de alojarlos nosotros mismos, o ... usar el servidor de control de fuente como una especie de CDN. Es poco probable que Github o similar tenga un caché de archivos distribuido geográficamente y optimizado para servir a nivel mundial. Pero si es una práctica común, existe una buena posibilidad de que el navegador del usuario lo tenga almacenado en caché. El argumento de descargar el trabajo de nuestros servidores a github solo es válido si Github se ha ofrecido voluntariamente para hacer esto.
Entonces, ¿es una práctica común? ¿Deberíamos animarnos unos a otros a hacer esto? ¿Le importa a Github? ¿Tienen una política oficial establecida?
fuente
Respuestas:
No debe hacer eso con archivos JavaScript si le preocupa el rendimiento o la compatibilidad con IE9.
GitHub no sirve sus archivos "sin procesar" con un encabezado de caducidad en el futuro lejano. Sin la posibilidad de almacenamiento en caché entre sitios, pierde el mayor beneficio de usar una CDN pública para alojar su JavaScript. De hecho, usar GitHub como CDN será más lento que simplemente alojar los archivos en su propio servidor después de la primera solicitud del archivo de cada usuario (suponiendo que configure el almacenamiento en caché correctamente en su servidor).
Otro problema es que GitHub no sirve archivos "sin procesar" con un encabezado de tipo de contenido que coincida con el tipo MIME real del archivo. En IE9 (y quizás en otros navegadores / proxies / firewalls / etc.), los archivos JavaScript que no se entregan con el tipo de contenido correcto se bloquean de forma predeterminada. Puede ver eso en acción en la página de demostración de BlockUI, por ejemplo:
fuente
La vinculación a archivos "sin procesar" de GitHub tiene algunos problemas, como se describe en la respuesta de Dave Ward .
Le sugiero que consulte las páginas de GitHub como una opción.
Lea este artículo:
GitHub como CDN. Almacene en caché sus JavaScript, hojas de estilo y activos web con las páginas de GitHub.
fuente
Esto se preguntó recientemente en los foros de soporte de github , y la respuesta oficial fue que está bien.
Habiendo dicho eso, estoy de acuerdo con otras respuestas: github nunca tuvo la intención de ser una CDN, mientras que Google y Microsoft tienen una infraestructura específica para eso.
fuente
Está bien para la creación de prototipos / cosas personales, pero para la producción, miraría:
http://www.cdnjs.com/
http://cachedcommons.org/- ya no está disponiblefuente
Lo estoy haciendo durante meses, primero tenía algunas preocupaciones, pero es totalmente genial si no tiene problemas con que sus archivos estén disponibles públicamente, use versiones minificadas si le importa.
Pero aún así, Google y MS gobiernan el espacio para las plantillas jQuery y jQuery, así que las uso para eso.
fuente