Microsoft CDN para jQuery ou Google CDN? [fechado]

realmente importa que CDN use para ligar ao seu ficheiro jquery ou a qualquer ficheiro javascript. Um é potencialmente mais rápido do que o outro? Que outros factores podem desempenhar um papel em que o cdn decide utilizar? Eu sei que Microsoft, Yahoo e Google Todos têm CDN's agora.

Author: Ufuk Hacıoğulları, 2009-09-19

18 answers

Actualizar com base nos comentários:

Versão curta: não importa muito, mas pode depender do que eles hospedam. Todos eles hospedam coisas diferentes: o Google não host jQuery.Validate, a Microsoft não hospedou o jQuery-UI, desde 2016 que o fazem!!, A Microsoft oferece seus scripts que seriam servidos via ScriptResource.axd e uma integração mais fácil (por exemplo ScriptManager com ASP.Net 4, 0 ).

Nota Importante: Se estiver a construir uma intranet aplicação, fique longe da abordagem CDN. Não importa quem está a hospedá-lo, a menos que esteja num servidor Muito sobrecarregado internamente, nenhum CDN lhe dará mais desempenho do que o ethernet local 100mb/1GB. Se usar um CDN para uma aplicação estritamente interna, está a prejudicar o desempenho . defina os seus cabeçalhos de validade da 'cache' correctamente e ignore os CDNs existem apenas na intranet.

As hipóteses de serem bloqueadas parecem ser iguais., quase zero. Trabalhei em contratos onde isto não é verdade, mas parece ser uma excepção. Além disso, desde a publicação original desta resposta, o contexto em torno dela mudou muito, a Microsoft CDN tem feito muitos progressos.

O projecto em que estou actualmente usa ambos os CDNs que funcionam melhor para a nossa solução. Vários factores contribuem para isso. Os utilizadores com um navegador mais antigo ainda estão provavelmente a fazer 2 pedidos simultâneos por domínio , como recomendado pelo HTTP Especificação Este não é um problema para qualquer um executando algo decentemente novo que suporta pipelining (Cada navegador atual), mas com base em outro fator estamos eliminando esta limitação também, pelo menos até o javascript.

O CDN do Google que estamos a usar para:

  • Jquery.minuto.js
  • Jquery-ui.minuto.js .

O CDN da Microsoft que estamos a usar em vez de:

O nosso servidor:

  • combinado.js?v = 2.2.0.6190 (Major.Menor.Iteracao.Changeset)

Uma vez que parte do nosso processo de compilação está a combinar e a minorar todos os JavaScript personalizados, fazemos isto através de um gestor de script personalizado que inclui a versão ou depuração (não minificado) versões destes scripts dependendo da compilação. Uma vez que o Google não hospeda o pacote de validação jQuery, este pode ser um lado negativo. MVC está incluindo/usando isso em seu lançamento 2.0, então você pode confiar completamente no CDN da Microsoft para todas as suas necessidades, e tudo isso automático através do ScriptManager .

O único outro argumento a ser feito seria DNS times, há um custo para isso em termos de velocidade de carga de página. em média: simplesmente porque é usado mais (tem sido em torno de mais tempo) ajax.googleapis.com é provável que seja devolvido pelo DNS mais cedo do que ajax.microsoft.com, simplesmente porque o servidor DNS local era mais provável de obter um pedido para ele (este é um primeiro usuário na penalidade área). Este é um Muito coisa menor e só deve ser considerado se o desempenho é extremamente importante, até o milissegundo.
(sim: eu percebo que este ponto é contrário ao meu uso de ambos os CDNs, mas no nosso caso o tempo DNS é muito ofuscado pelo tempo de espera no javascript / bloqueio que ocorre)

Por último, se ainda não olhaste para ele, uma das melhores ferramentas lá fora é Firebug , e alguns plug-ins para ele: Page Speed e YSlow. Se você usar um CDN, mas suas páginas estão pedindo imagens Todas as vezes por causa de nenhum cache-headers, você está faltando a fruta de baixa suspensão. O painel de rede do Firebug pode rapidamente dar-lhe uma rápida repartição do tempo de carga da sua página, e a velocidade da Página/YSlow pode oferecer algumas boas sugestões para ajudar.

 150
Author: Nick Craver, 2016-11-29 16:23:10

Você deve absolutamente usar o Google CDN para o jQuery (e isto vem de um desenvolvedor centrado na Microsoft).

São estatísticas simples. Aqueles que considerassem a possibilidade de utilizar a MDN para a jQuery serão sempre uma minoria. Existem muitos programadores não-MS usando jQuery que irão usar o Google e não considerariam usar o Microsoft. uma vez que uma das grandes vitórias com um CDN público é melhor Cache , dividir o uso entre vários CDNs diminui o potencial para que beneficio.
 88
Author: Dave Ward, 2013-04-26 17:37:30

O Google enviar-lhe-á uma versão jQuery minificada com o seu próprio software, esta versão é 6kb mais leve do que a versão normal minificada servida pela Ms. Go para o Google.

 20
Author: Oscar Kilhed, 2009-12-30 12:55:27

Uma coisa menor a considerar é que ambas as empresas oferecem bibliotecas "extra" ligeiramente diferentes:

Dependendo das suas necessidades, isto pode ser relevante.
 18
Author: dp., 2010-01-15 12:26:55

Deve também referir-se que, como ajax.microsoft.com é um sub-domínio de microsoft.com pedidos enviar tudo microsoft.com cookies adicionando ao tempo total que leva para obter o arquivo de volta.

Também, ajax.microsoft.com é usando compressão padrão IIS7 que é inferior à compressão padrão que outros servidores web usam.

Http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js - 33, 4 K

Http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js - 26, 5 K

Também, como outros mencionaram o google CDN é muito mais popular, o que aumenta muito a chance de um arquivo ser Cache.

Por isso, recomendo vivamente a utilização do google.
 15
Author: Alistair, 2010-11-21 22:46:38
Provavelmente não importa,mas podes validar isto com alguns testes A / B. Envie metade do seu tráfego para um CDN, e metade para o outro, e configure algum perfil para medir a resposta. Eu pensaria que é mais importante ser capaz de mudar facilmente no caso de um ou outro tinha alguns problemas graves de indisponibilidade.
 11
Author: lod3n, 2009-09-18 23:20:25
Sei que estou um pouco atrasado, mas aqui está o código que tenho usado na produção. Nunca tive problemas com isso, mas a sua quilometragem pode variar. Certifique-se de testá-lo em seu próprio ambiente.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>    
<script type="text/javascript">
    !window.jQuery && document.write('<script src="/scripts/jquery-1.4.2.min.js"><\/script>')
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
    !window.jQuery.ui && document.write('<script src="/scripts/jquery-ui-1.8.2.min.js"><\/script>')
</script> 
 7
Author: Jeremy Cade, 2010-08-12 11:29:57
É sobre estatísticas. jquery.com carrega jQuery do Google. Assim como o Twitter, Stackoverflow e muitos outros. Então, existem possibilidades muito altas que o usuário do seu site já tem em cache = nenhum download em tudo. Esquece o validador, a bandwith e a speed, porque este é o maior benefício. Caso contrário, qualquer outra opção CDN terá um desempenho essencialmente ao mesmo nível.
 7
Author: achairapart, 2010-09-23 02:38:23
Um é potencialmente mais rápido do que o outro?
Eu próprio estava curioso sobre isto, por isso, configurei uma página de testes jsbin usando cada um dos seguintes e depois passei-a através de um computador. webpagetest.org a ferramenta de comparação visual. Eu testei:
  1. ajax.googleapis.com
  2. code.jquery.com
  3. ajax.aspnetcdn.com
  4. cdnjs.cloudflare.com

Quem era o mais rápido: code.jquery.com 0, 1 segundo em ambos os ensaios

Quem era mais lento: ajax.aspnetcdn.com 0,7 segundos no primeiro teste e ajax.googleapis.com por 1 segundo em segundo teste

Aqui está o primeiro teste (cada um foi testado 3 vezes):

Vídeo: http://www.webpagetest.org/video/view.php?id=121019_16c5e25eff2937f63cc1714ed1eac814794e62b3

Relatórios: http://www.webpagetest.org/video/compare.php?tests=121019_D2_KF0,121019_9Q_KF1,121019_WW_KF2,121019_9K_KF3

Aqui está. o segundo teste (outro 3 cada):

Vídeo: http://www.webpagetest.org/video/view.php?id=121019_a7b351f706cad2c25664fee7ef349371f17c4e74

Relatórios: http://www.webpagetest.org/video/compare.php?tests=121019_MP_KJN,121019_S6_KJP,121019_V9_KJQ,121019_VY_KJR

 4
Author: Anthony Hatzopoulos, 2012-10-19 19:25:10
Acho que depende de onde está o teu público alvo. Você pode usar alertra.com para verificar a velocidade CDN de vários locais ao redor do mundo.
 3
Author: silent, 2009-10-11 08:36:29

Uma consideração adicional - se o seu site é o SSL e o que você precisa para suportar o Android 2.1 (ou anterior), o certificado de SSL no HTTPS versão do Microsoft CDN vai falhar as versões do browser do Android, de acordo com este problema: http://code.google.com/p/android/issues/detail?id=5001. Não é da Microsoft "falha", como o certificado SSL é tecnicamente válido e o defeito é no Android implementação de SSL... mas vai destruir o seu site, mesmo assim.

O SSL a cert no CDN da Google não é incompatível com esta questão específica (relacionada com o "Certificate Subject Alt Name"do certificado).

Então, para suporte SSL + Android 2.1, use o Google CDN.

 3
Author: Kent McNeill, 2011-01-20 23:58:11

Tal como afirmado por Pingdom:

Quando alguém visita o seu site, se já visitou outro site que usa o mesmo arquivo jQuery no mesmo CDN, o arquivo irá foram apanhados e não precisam de ser descarregados. Não pode. mais depressa do que isso.

Isto significa que a CDN mais utilizada terá as probabilidades na sua lado, que pode pagar para o seu site.

Algumas observações sobre o desempenho: O CDN do Google é consistentemente o mais lento dos três tanto na América do Norte como na Europa. Na Europa, o CDN da Microsoft é o mais rápido.
 3
Author: mayank, 2013-07-16 15:45:11

A minha resposta é um pouco diferente das outras, eu irei com a microsoft se você precisar de validador jquery que quase todos precisam se você estiver usando jquery.

A ligação http CDN da Microsoft é Keep-Alive, que é grande mais quando você está a pedir vários itens.

Por isso, se precisar de validação jquery, use a Microsoft CDN, mesmo que precise da jquery ui use a microsoft porque a google não mantém o keep-alive para que cada pedido esteja por conta própria. então misturar-se dessa maneira é mais. se está usando a microsoft apenas para validador, então você está fazendo conexão separada com o servidor google para cada pedido.

 2
Author: mamu, 2010-08-19 04:56:32

Na summery diz que a microsoft não está oferecendo UI, isso não é correto (mais). Pode ser descarregada em http://www.asp.net/ajaxlibrary/cdn.ashx.

 1
Author: Netsi1964, 2011-10-04 13:09:08

Considere também ao usar o Google CDN que algumas vezes as pessoas fazem erros como ajax.googelapis.com. isto pode potencialmente criar um ataque XSS realmente desagradável (cross site scripting). Na verdade, testei isto ao registar um googlapis.com typo e muito rapidamente me encontrei servindo pedidos para javascript, mapas, css etc.

Enviei um e-mail ao Google e pedi-lhes para registarem URL ' s de tipo CDN semelhantes, mas não obtive resposta. Esta poderia ser uma razão real para não confiar na CDN's porque há atacantes potencialmente perigosos à espera dos pedidos de typo e pode facilmente servir jquery de volta etc com uma carga xss.

Obrigado

 1
Author: , 2012-07-15 21:12:52

Aconselho-o a basear a sua utilização na localização geral dos utilizadores que pretende atingir.

Se o seu site for dirigido para o público em geral, então usar o CDN do Google seria uma boa escolha.

Se o seu site também estiver direccionado para a China, então usar o CDN da Microsoft seria uma escolha melhor. Eu sei pela minha experiência, como os servidores do Google continuavam a ser bloqueados pelo governo chinês, tornando os sites que os usam impenetráveis.

*Note que você pode de cos = = ligações externas = = cn.mysite.com para atender especificamente para a China, mas se você está com poucos recursos e tempo, vale a pena uma consideração.

Lista completa da Microsoft CDN aqui. http://www.asp.net/ajaxlibrary/cdn.ashx

Desde então mudaram para ajax.aspnetcdn.com , o que reduz a probabilidade de bloqueio pelas Regras da firewall.

 1
Author: KnaveT, 2014-06-18 01:09:51
Dependendo da indústria a que a aplicação se destina, pode não querer utilizar uma CDN gerida por outras organizações. Levanta muitas vezes questões relativas à conformidade, Privacidade e confidencialidade.

Por exemplo, quando você inclui o Google Analytics numa aplicação segura, o navegador ainda envia o URL actual como o cabeçalho "referer". Quaisquer identificadores, digamos um id de sessão ou um token secreto podem aparecer nos seus registos. Por exemplo, se um cliente IP de 192.0.2.5 referências https://healthsystem.exemplo/condição / impotência , então bem, você pode inferir informação que é considerada bastante privada.

Outros casos incluem informações de consequências, tais como um número de conta, número de segurança social ou informações de sessão no URL. Esse tipo de dados nunca deve estar na URL como ele pode ser usado fora da aplicação.

Embora possa confiar no Google, Microsoft ou Yahoo, os seus utilizadores podem não confiar.

Para indústrias como as finanças, Legal e de saúde, você pode querer estabelecer o seu próprio CDN com a ajuda de um fornecedor (por exemplo, Akamai) com o qual você pode assinar um BAA.
 0
Author: bloudraak, 2014-05-16 02:31:52
Eu usaria ambos!

Como o Google jQuery hosting tem sido em torno de muito mais tempo, as chances são muito maiores que as pessoas já terão ele cache em comparação com o Microsoft one, então eu tê-lo-ia primeiro.

Pessoalmente, usaria algo assim ...
if (typeof jQuery == 'undefined') {  
    // jQuery is not loaded  

  document.write("<scr" + "ipt type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></scr" + "ipt>");
        }
} else {
    // jQuery is loaded
}

(Não tenho a certeza se este 100% funciona, mas eu ia apenas escrever a ideia e não o exemplo - isto faz referência ao Google hospedou o Jquery e não o Microsoft porque eu não conseguia encontrar o link)

 -3
Author: Wil, 2009-10-11 11:39:12