Servir bibliotecas javascript a partir de um CDN em vez de seu próprio servidor traz enormes vantagens. Menos trabalho para seu servidor, possibilidade de o CDN ter uma cópia mais próxima do usuário do que seu servidor, mas o mais importante é uma boa chance de que o navegador do usuário já o tenha armazenado em cache a partir desse URL. O último significa menos trabalho total para todos, então é claramente uma vitória para todos, e é mais provável quanto mais nós (desenvolvedores) dependemos dos CDNs para servir nosso javascript.
Mas os populares CDNs de javascript (Google, Microsoft, outros?) Hospedam apenas um pequeno número de arquivos. Para outros, temos a opção de hospedá-los ou ... usar o servidor de controle de origem como uma espécie de CDN. É improvável que o Github ou similar tenha um cache de arquivos distribuído geograficamente e otimizado para servir globalmente. Mas se for uma prática comum, então há uma boa chance de que o navegador do usuário o tenha armazenado em cache. O argumento de descarregar trabalho de nossos servidores para o github só é válido se o Github voluntariamente se ofereceu para fazer isso.
Então, é uma prática comum? Devemos encorajar uns aos outros a fazer isso? O Github se importa? Eles têm uma política oficial declarada?
fonte
Respostas:
Você não deve fazer isso para arquivos JavaScript se se preocupa com o desempenho ou a compatibilidade do IE9.
O GitHub não fornece seus arquivos "brutos" com um cabeçalho de expiração de futuro distante. Sem a possibilidade de armazenamento em cache entre sites, você perde o maior benefício de usar um CDN público para hospedar seu JavaScript. Na verdade, usar o GitHub como um CDN será mais lento do que simplesmente hospedar os arquivos em seu próprio servidor após a primeira solicitação de arquivo de cada usuário (supondo que você configure o cache corretamente em seu servidor).
Outro problema é que o GitHub não fornece arquivos "brutos" com um cabeçalho de tipo de conteúdo que corresponda ao tipo MIME real do arquivo. No IE9 (e talvez outros navegadores / proxies / firewalls / etc), os arquivos JavaScript que não são servidos com o tipo de conteúdo correto são bloqueados por padrão. Você pode ver isso em ação na página de demonstração do BlockUI, por exemplo:
fonte
Vincular a arquivos "brutos" do GitHub apresenta alguns problemas, conforme descrito pela resposta de Dave Ward .
Eu sugiro que você dê uma olhada nas páginas do GitHub como uma opção.
Leia este artigo:
GitHub como um CDN. Armazene em cache seus Javascripts, folhas de estilo e ativos da Web com páginas GitHub.
fonte
Recentemente, isso foi perguntado nos fóruns de suporte do github e a resposta oficial foi que está tudo bem.
Dito isso, concordo com outras respostas: o github nunca foi realmente destinado a ser um CDN, enquanto o Google e a Microsoft têm infraestrutura específica para isso.
fonte
É bom para prototipagem / coisas pessoais, mas para produção, eu consideraria:
http://www.cdnjs.com/
http://cachedcommons.org/- não está mais disponívelfonte
Estou fazendo isso há meses, tive algumas dúvidas primeiro, mas é totalmente legal se você não tiver problemas com seus arquivos sendo disponibilizados publicamente, use versões reduzidas se quiser.
Mas ainda - Google e MS governam o espaço para modelos jQuery e jQuery - então eu os uso para isso.
fonte