No momento, estamos puxando as bibliotecas jQuery e jQueryUI (e jQueryUI CSS) do Google CDN. Gosto disso porque posso ligar google.load("jquery", "1");
e usar o jQuery 1.xx mais recente.
Agora devo puxar as bibliotecas localmente por causa da segurança.
Estou feliz em usá-los localmente, mas estou me perguntando quais são alguns dos outros benefícios e armadilhas a serem observados.
javascript
jquery
jquery-ui
cdn
orolo
fonte
fonte
Respostas:
O principal benefício de tê-los em um CDN é que os arquivos podem ser baixados paralelamente aos arquivos baixados do seu próprio site. Isso reduz a latência em todas as páginas. Portanto, o outro lado disso é uma armadilha de hospedar localmente - latência aumentada . A principal razão para isso é que os navegadores são limitados no número de conexões que podem fazer ao mesmo tempo para o mesmo domínio da web. No IE6, o padrão era 2 conexões simultâneas ao mesmo domínio - compartilhadas entre todas as janelas abertas do IE !! No IE8 + ele melhorou, padronizando para 6, que está em linha com o FF / Chrome, mas ainda assim, se você tiver muitas imagens e não estiver usando sprites, terá latência pesada.
Usando um CDN, eu sempre definiria a versão da biblioteca explicitamente, em vez de obter a versão mais recente. Isso reduz o risco de novas versões violarem seu código. Não é muito provável com jQuery, mas é possível.
O outro benefício principal de usar um CDN é a redução do tráfego em seu site . Se você paga por GB ou está em um servidor virtual com recursos limitados, pode descobrir que o desempenho geral do site aumenta e os custos de hospedagem diminuem quando você transfere parte do seu conteúdo para um CDN público.
Certifique-se de ler também a outra resposta a esta pergunta de @Xaver. Este é um truque muito bom
fonte
Sempre uso o CDN (Content Delivery Network) do Google. Mas apenas no caso de estar offline:
<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>
Pegue o jQuery do CDN do Google e use o local, se necessário
Editar : se você não precisa de suporte para IE6 e seu site tem uso parcial de https, você também pode remover o http:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
fonte
!window.jQuery...
) seja interpretada?<script>
as tags são processadas de forma assíncrona, certo?<script>
as tags são processadas de forma síncrona! Na segunda linha o jQuery já deve estar carregado, mas caso contrário, injetamos algum JS para carregá-lo localmente. Odocument.write
nunca será executado se jQuery já existir.Outros cobriram os benefícios. Armadilhas:
Se você incluir apenas conteúdo de seu próprio servidor, esse servidor precisa estar em execução - e não bloqueado por firewalls, etc - para fazer seu site funcionar. Puxe o script de um terceiro e agora são dois servidores que precisam estar rodando e desbloqueados para fazer seu site funcionar.
Qualquer site de onde você extrai
<script>
pode controlar completamente a experiência do usuário em seu site. Se o Google estivesse se sentindo mal, poderia colocar algo em sua cópia do jQuery para registrar seus pressionamentos de tecla, roubar informações pessoais da página em que você estava para vincular ao banco de dados de rastreamento da web, fazer você postar "Eu amo o Google!" comentários a todos os formulários e assim por diante.O Google provavelmente não fará isso, mas é um fator que está fora de seu controle e, certamente, é algo com que se preocupar com outros serviços de hospedagem de scripts. Já houve incidentes em que scripts de estatísticas foram comprometidos com carregadores de malware.
Antes de incluir qualquer script de terceiros - mesmo em uma única página do seu site - você deve confiar 100% neles com todas as funcionalidades acessíveis ao usuário visíveis naquele nome de host (incluindo funções de administrador voltadas para a web).
fonte
Google CDN:
Localmente:
fonte
if a new version breaks your existing plugins or site, you'll know about it possibly too late
você pode especificar a versão no link CDN, para evitar isso.Eu prefiro usar minha versão local, porque não tenho controle sobre o que eles irão fornecer. Por exemplo, não quero que meus usuários sejam afetados pelo google-analytics ou algo semelhante, porque este é um problema legal no meu país.
fonte
Benefícios: (especificamente para CDN do Google)
fonte
Praticamente de todas as maneiras que você olha para as coisas, usar o CDN do Google é uma coisa boa.
O desempenho será melhorado (embora marginalmente, a menos que seu site esteja realmente ocupado), e a quantidade de dados que seus servidores precisam transmitir cairá (embora jQuery não seja exatamente uma coisa enorme para baixar), etc.
O único motivo pelo qual você não gostaria de usá-lo é não confiar no Google. Ao usá-lo, você está efetivamente dando ao Google uma janela adicional de informações sobre o perfil de tráfego do seu site, incluindo o conhecimento de URLs que, de outra forma, você não deseja tornar públicos (por exemplo, áreas seguras do seu site).
Se você é paranóico com relação à segurança, isso pode ser o suficiente para persuadi-lo a não usá-los (afinal, hospedar você mesmo não vai exatamente desacelerar seu site a um rastreamento), mas em geral a maioria das pessoas teria uma visão pragmática que o Google já sabe o suficiente sobre o site deles, de modo que adicionar isso não fará muita diferença.
fonte
Provavelmente estou em minoria hoje em dia, mas eu diria que você não quer usar o CDN a menos que seja realmente necessário. Os principais fatores para começar a usá-lo são:
Mas ... a questão é que esses pontos não são realmente aplicáveis a 90% dos sites do mundo. Aposto que você não é o Facebook com milhões de usuários online ao redor do globo, você não é o Pornhub com centenas de GB transferidos a cada segundo.
Se seu site é direcionado a usuários em sua cidade / país e a capacidade de um servidor é suficiente para a quantidade de usuários que você tem - por que você iria querer um CDN? É mais rápido para os usuários em sua cidade e mais simples para você buscar tudo localmente em seu servidor principal.
Era mais sobre CDNs em geral, agora deixe-me chegar mais perto da questão real sobre jQuery ou qualquer outra biblioteca.
Se você deseja que seu site permaneça acessível e funcionando sem manutenção por mais de um ano, digamos - coloque-o localmente. As bibliotecas hoje em dia estão sendo atualizadas em um ritmo louco que você provavelmente não quer seguir. E versões antigas estão sendo excluídas eventualmente. Além disso, a biblioteca inteira pode morrer (embora provavelmente não se aplique ao jQuery).
De minha experiência recente - atualizei o TinyMCE no site que mantenho de 3.xx (datado de 2012) a 5.xx (datado de primavera de 2019). Este site funcionou por 7 (sete!) Anos sem nenhuma manutenção nesta parte da lógica. Não havia um conceito de "minimização" naquela época e os CDNs não eram tão comuns como agora. Mas mesmo que fossem comuns - você nunca sabe o que acontecerá em 3-5-10 anos a partir de agora. Normalmente você quer que seu site permaneça vivo mesmo sem você mantê-lo, não é? No entanto, se você puxar o jQuery do CDN hoje, esse link pode (e, provavelmente, vai) quebrar em 5 anos.
Uma solução com CDN E fallback para a versão local, conforme sugerido por @Xaver, pode ser um bom compromisso. Mas ... talvez apenas se livrar do link CDN? ;)
fonte
Para mim, realmente depende de quanto controle você deseja ter. Se você é como eu e precisa se desenvolver no host local ao trabalhar e viajar. Ter os arquivos jquery locais é melhor do que hospedá-los no google ou em outro lugar.
fonte