Actualización basada en comentarios:
Versión corta: no importa mucho, pero puede depender de lo que alojen. Todos ellos anfitrionas diferentes cosas: Google no aloja jQuery.Validate, Microsoft no hizo anfitrión jQuery-UI, ya que 2.016 lo hacen !!, Microsoft ofrece sus guiones que de otro modo serían atendidos por medio ScriptResource.axd
y una integración más fácil (por ejemplo ScriptManager con ASP. Neto 4.0 ).
Nota importante: si está creando una aplicación de intranet, manténgase alejado del enfoque de CDN. No importa quién lo aloje, a menos que esté en un servidor muy sobrecargado internamente, ningún CDN le brindará más rendimiento que el Ethernet local de 100mb / 1GB. Si usa un CDN para una aplicación estrictamente interna, está perjudicando el rendimiento . Configure sus encabezados de caducidad de caché correctamente e ignore que existen CDN en el escenario de solo intranet.
Las posibilidades de ser bloqueado parecen ser casi iguales, casi nulas. He trabajado en contratos donde esto no es cierto, pero parece ser una excepción. Además, desde la publicación original de esta respuesta, el contexto que la rodea ha cambiado mucho, el CDN de Microsoft ha progresado mucho.
El proyecto en el que estoy actualmente utiliza ambos CDN que funcionan mejor para nuestra solución. Varios factores juegan en esto. Es probable que los usuarios con un navegador anterior sigan haciendo 2 solicitudes simultáneas por dominio según lo recomendado por la especificación HTTP . Este no es un problema para cualquiera que ejecute algo decentemente nuevo que admita la canalización (todos los navegadores actuales), pero en base a otro factor, también estamos eliminando esta limitación, al menos en lo que respecta al javascript.
El CDN de Google que estamos usando para:
CDN de Microsoft que estamos usando para:
Nuestro servidor:
- Combined.js? V = 2.2.0.6190 (Major.Minor.Iteration.Changeset)
Dado que parte de nuestro proceso de compilación es combinar y minimizar todos los javascript personalizados, lo hacemos a través de un administrador de scripts personalizado que incluye las versiones de lanzamiento o depuración (no minimizadas) de estos scripts según la compilación. Dado que Google no aloja el paquete de validación jQuery, esto puede ser un inconveniente. MVC incluye / usa esto en su versión 2.0, por lo que puede confiar completamente en el CDN de Microsoft para todas sus necesidades, y todo de forma automática a través del ScriptManager .
El único otro argumento a ser sería tiempos de DNS, hay un costo en términos de velocidad de carga de la página. En promedio:ajax.googleapis.com
es probable que el DNS devuelva antes (simplemente porque se ha usado más (ha estado más tiempo)) ajax.microsoft.com
, simplemente porque el servidor DNS local tenía más probabilidades de recibir una solicitud (este es el primer usuario en la penalización de área) . Esto es algo muy pequeño y solo debe considerarse si el rendimiento es extremadamente importante, hasta el milisegundo.
(Sí: me doy cuenta de que este punto es contrario a mi uso de ambas CDN, pero en nuestro caso el tiempo de DNS se ve eclipsado por el tiempo de espera en el javascript / bloqueo que ocurre)
Por último, si no lo ha mirado, una de las mejores herramientas es Firebug y algunos complementos: Page Speed e YSlow . Si usa un CDN pero sus páginas solicitan imágenes cada vez debido a que no tienen encabezados de caché, se está perdiendo la fruta baja. El panel Net de Firebug puede proporcionarle rápidamente un desglose rápido del tiempo de carga de su página, y Page Speed / YSlow puede ofrecer algunas buenas sugerencias para ayudarlo.