{"id":54566,"date":"2019-12-29T00:00:00","date_gmt":"2019-12-28T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj"},"modified":"2020-02-18T14:02:35","modified_gmt":"2020-02-18T11:02:35","slug":"samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","title":{"rendered":"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nos \u00faltimos anos, cada vez mais plataformas para otimiza\u00e7\u00e3o de projetos frontend oferecem op\u00e7\u00f5es de auto-hospedagem ou proxy de recursos de terceiros. A Akamai permite definir <noindex><a rel=\"nofollow\" href=\"https:\/\/community.akamai.com\/customers\/s\/article\/5-ways-to-prevent-slow-3rd-party-front-end-services?language=en_US\">par\u00e2metros espec\u00edficos<\/a><\/noindex> para URLs criados de forma independente. O Cloudflare possui a tecnologia Edge Workers. O Fasterzine pode <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fasterize.com\/en\/blog\/https-the-impact-on-your-loading-times\/\">reescrever<\/a><\/noindex> URLs nas p\u00e1ginas de modo que elas apontem para recursos de terceiros que est\u00e3o no dom\u00ednio principal do site.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/481574\/\"><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/61f87db89ba8c5f4bf030a4004df56f3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Se voc\u00ea sabe que os servi\u00e7os de terceiros usados em seu projeto n\u00e3o mudam com muita frequ\u00eancia, e que o processo de entrega deles aos clientes pode ser melhorado, voc\u00ea provavelmente est\u00e1 pensando em proxy para esses servi\u00e7os. Com essa abordagem, voc\u00ea pode \"aproximar\" esses recursos dos usu\u00e1rios e obter um controle mais completo sobre seu caching no lado do cliente. Isso, al\u00e9m disso, protege os usu\u00e1rios contra problemas causados pela \"queda\" de um servi\u00e7o de terceiros ou degrada\u00e7\u00e3o de seu desempenho.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Bom: aumento de desempenho<\/h2>\n<p>\nA auto-hospedagem de recursos de terceiros melhora o desempenho de maneira bastante \u00f3bvia. O navegador n\u00e3o precisa consultar o DNS mais uma vez, n\u00e3o precisa estabelecer uma conex\u00e3o TCP e realizar uma negocia\u00e7\u00e3o TLS em um dom\u00ednio diferente. O impacto da auto-hospedagem de recursos de terceiros sobre o desempenho pode ser visto comparando os dois gr\u00e1ficos a seguir.<\/p>\n<p><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/ee0a0ccb712a873d10b8de0dbc7ef84a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Recursos de terceiros s\u00e3o carregados de fontes externas (extra\u00eddo <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">daqui<\/a><\/noindex>)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/e9ee0b858dbb1aa7c6476d8bf954fc62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Recursos de terceiros s\u00e3o armazenados junto com outros materiais do site (extra\u00eddo <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">daqui<\/a><\/noindex>)<\/i><\/p>\n<p>A situa\u00e7\u00e3o \u00e9 ainda melhorada pelo fato de que o navegador usar\u00e1 as capacidades de multiplexa\u00e7\u00e3o e prioriza\u00e7\u00e3o de dados da conex\u00e3o HTTP\/2, que j\u00e1 est\u00e1 estabelecida com o dom\u00ednio principal.<\/p>\n<p>Se n\u00e3o hospedar recursos de terceiros, como eles ser\u00e3o carregados de um dom\u00ednio diferente do principal, n\u00e3o ser\u00e1 poss\u00edvel prioriz\u00e1-los. Isso levar\u00e1 a uma competi\u00e7\u00e3o entre eles pela largura de banda do cliente. Isso pode resultar em um tempo de carregamento de materiais cr\u00edticos para a forma\u00e7\u00e3o da p\u00e1gina muito maior do que o tempo que poderia ser alcan\u00e7ado em circunst\u00e2ncias ideais. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nOW-i6bbRdo\">Aqui<\/a><\/noindex> apresenta\u00e7\u00e3o sobre prioriza\u00e7\u00e3o HTTP\/2, na qual tudo isso \u00e9 muito bem elucidado.<\/p>\n<p>Pode-se supor que o uso de atributos em links para recursos externos <code>preconnect<\/code> ajudar\u00e1 a resolver o problema. No entanto, se houver muitos desses links para diferentes dom\u00ednios, isso pode, na verdade, sobrecarregar a linha de comunica\u00e7\u00e3o no momento mais crucial.<\/p>\n<p>Se hospedar recursos de terceiros de forma independente - voc\u00ea pode controlar exatamente como esses recursos s\u00e3o entregues ao cliente. Ou seja, estamos falando do seguinte:<\/p>\n<ul>\n<li>\u00c9 poss\u00edvel garantir a aplica\u00e7\u00e3o de um algoritmo de compress\u00e3o de dados mais adequado para cada navegador (Brotli\/gzip).<\/li>\n<li>\u00c9 poss\u00edvel aumentar o tempo de cache dos recursos, que geralmente, mesmo nos provedores mais conhecidos, n\u00e3o \u00e9 particularmente grande (por exemplo, o valor correspondente para a tag GA est\u00e1 definido em 30 minutos).<\/li>\n<\/ul>\n<p>\nVoc\u00ea pode at\u00e9 aumentar o indicador TTL para o recurso, por exemplo, para um ano, incluindo os materiais correspondentes em sua estrat\u00e9gia de gerenciamento de cache (hashes de URL, versionamento e assim por diante). Vamos falar sobre isso mais adiante.<\/p>\n<h3>\u258dProte\u00e7\u00e3o contra interrup\u00e7\u00f5es em servi\u00e7os de terceiros ou sua desativa\u00e7\u00e3o<\/h3>\n<p>\nOutro aspecto interessante da auto-hospedagem de recursos de terceiros \u00e9 que ela ajuda a mitigar os riscos associados a interrup\u00e7\u00f5es nos servi\u00e7os de terceiros. Suponha que a solu\u00e7\u00e3o de terceiros que voc\u00ea est\u00e1 usando para realizar testes A\/B seja implementada como um script bloqueador carregado no cabe\u00e7alho da p\u00e1gina. Este script \u00e9 carregado lentamente. Se o script n\u00e3o conseguir ser carregado, a p\u00e1gina ficar\u00e1 vazia. Se levar muito tempo para carregar, a p\u00e1gina aparecer\u00e1 com um grande atraso. Ou, suponha que um projeto use uma biblioteca que \u00e9 carregada de um recurso CDN de terceiros. Imagine que esse recurso falhou ou foi bloqueado em algum pa\u00eds. Tal situa\u00e7\u00e3o levar\u00e1 a uma interrup\u00e7\u00e3o na l\u00f3gica do site.<\/p>\n<p>Para saber como seu site funciona na falta de um determinado servi\u00e7o externo, voc\u00ea pode usar a se\u00e7\u00e3o SPOF em <noindex><a rel=\"nofollow\" href=\"https:\/\/www.webpagetest.org\/\">webpagetest.org<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/0ffa0b44054ccd16bab33c6b7beff049.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Se\u00e7\u00e3o SPOF em webpagetest.org<\/i><\/p>\n<h3>\u258dE quanto a problemas com o cache de materiais nos navegadores? (dica: isso \u00e9 um mito)<\/h3>\n<p>\nPode-se pensar que o uso de CDNs p\u00fablicas leva automaticamente a um melhor desempenho dos recursos, uma vez que esses servi\u00e7os t\u00eam redes de qualidade e est\u00e3o distribu\u00eddos pelo mundo. Contudo, as coisas s\u00e3o um pouco mais complicadas.<\/p>\n<p>Suponha que temos v\u00e1rios sites diferentes: website1.com, website2.com, website3.com. Todos esses sites utilizam a biblioteca jQuery. A conectamos a eles atrav\u00e9s de um CDN, por exemplo \u2014 googleapis.com. Poder-se-ia esperar que o navegador fizesse o download e armazenasse em cache a biblioteca uma vez e, em seguida, a utilizasse em todos os tr\u00eas sites. Isso poderia reduzir a carga na rede. Talvez isso economize em algum lugar e ajude a melhorar o desempenho dos recursos. Na pr\u00e1tica, no entanto, a situa\u00e7\u00e3o \u00e9 diferente. Por exemplo, no Safari, existe uma funcionalidade chamada <noindex><a rel=\"nofollow\" href=\"https:\/\/webkit.org\/blog\/7675\/intelligent-tracking-prevention\/\">Intelligent Tracking Prevention<\/a><\/noindex>: no cache, s\u00e3o usados chaves duplas, baseadas na origem do documento e na origem do recurso externo. <noindex><a rel=\"nofollow\" href=\"https:\/\/andydavies.me\/blog\/2018\/09\/06\/safari-caching-and-3rd-party-resources\/\">Aqui<\/a><\/noindex> um bom artigo sobre esse assunto.<\/p>\n<p>Pesquisas antigas <noindex><a rel=\"nofollow\" href=\"https:\/\/yuiblog.com\/blog\/2007\/01\/04\/performance-research-part-2\/\">Yahoo<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/code.facebook.com\/posts\/964122680272229\/web-performance-cache-efficiency-exercise\/\">Facebook<\/a><\/noindex>, assim como um estudo mais recente <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.httparchive.org\/t\/analyzing-resource-age-by-content-type\/1659\">De acordo com os resultados<\/a><\/noindex> de Pola Calvano, mostram que os recursos n\u00e3o s\u00e3o armazenados em caches de navegadores por tanto tempo quanto poder\u00edamos esperar: \"H\u00e1 uma grande disparidade entre o tempo de cache de recursos pr\u00f3prios e de terceiros do projeto. Isso se refere a CSS e fontes web. Especificamente, o tempo de cache de 95% das fontes pr\u00f3prias excede uma semana, enquanto o tempo de cache de 50% das fontes de terceiros \u00e9 inferior a uma semana! Isso d\u00e1 aos desenvolvedores web boas raz\u00f5es para hospedar arquivos de fontes por conta pr\u00f3pria!\".<\/p>\n<p>Como resultado, se voc\u00ea hospedar materiais de terceiros, n\u00e3o perceber\u00e1 os problemas de desempenho causados pelo cache do navegador.<\/p>\n<p>Agora que analisamos os pontos fortes da hospedagem aut\u00f4noma de recursos externos, vamos discutir como distinguir uma boa implementa\u00e7\u00e3o dessa abordagem de uma ruim.<\/p>\n<h2>Ruim: o diabo est\u00e1 nos detalhes<\/h2>\n<p>\nMover recursos externos para seu pr\u00f3prio dom\u00ednio n\u00e3o pode ser feito automaticamente, sem garantir o cache correto desses recursos.<\/p>\n<p>Um dos principais problemas aqui \u00e9 o tempo de armazenamento em cache. Por exemplo, informa\u00e7\u00f5es sobre vers\u00f5es s\u00e3o inclu\u00eddas nos nomes de scripts externos mais ou menos assim: <code>jquery-3.4.1.js<\/code>. Esse arquivo n\u00e3o ser\u00e1 alterado no futuro, o que n\u00e3o causar\u00e1 problemas com seu cache.<\/p>\n<p>Mas, se n\u00e3o houver um esquema de versionamento ao trabalhar com arquivos, os scripts armazenados em cache, cujo conte\u00fado muda com o nome do arquivo inalterado, podem ficar desatualizados. Isso pode se tornar um problema s\u00e9rio, pois, por exemplo, n\u00e3o permite aplicar corre\u00e7\u00f5es de seguran\u00e7a automaticamente nos scripts, que devem ser feitas o mais r\u00e1pido poss\u00edvel para que os clientes as recebam. O desenvolvedor ter\u00e1 que se esfor\u00e7ar para atualizar esses scripts no cache. Al\u00e9m disso, isso pode causar falhas no desempenho do aplicativo, pois o c\u00f3digo usado no cliente a partir do cache difere da vers\u00e3o mais recente do c\u00f3digo, para a qual a parte do servidor do projeto foi projetada.<\/p>\n<p>Na verdade, quando se fala em materiais frequentemente atualizados (gerenciadores de tags, solu\u00e7\u00f5es para testes A\/B), o armazenamento em cache por meio de CDN \u00e9 uma tarefa que, embora vi\u00e1vel, \u00e9 muito mais complexa. Servi\u00e7os como Commanders Act, solu\u00e7\u00f5es de gerenciamento de tags, utilizam webhooks ao publicar novas vers\u00f5es. Isso permite organizar a limpeza do cache na CDN ou, melhor ainda, possibilitar a atualiza\u00e7\u00e3o do hash ou vers\u00e3o da URL.<\/p>\n<h3>\u258dEntrega adaptativa de materiais aos clientes<\/h3>\n<p>\nAl\u00e9m disso, ao falar sobre cache, \u00e9 preciso considerar que as configura\u00e7\u00f5es de cache usadas na CDN podem n\u00e3o ser adequadas para alguns recursos de terceiros. Por exemplo, esses recursos podem usar a tecnologia de sniffing do agente do usu\u00e1rio (user agent sniffing, adaptive serving) para fornecer vers\u00f5es de materiais otimizadas especificamente para determinados navegadores. Essas tecnologias, para determinar as capacidades do navegador, dependem de express\u00f5es regulares ou de um banco de dados que cont\u00e9m informa\u00e7\u00f5es sobre os cabe\u00e7alhos HTTP. <code>User-Agent<\/code>. Ao descobrir com qual navegador est\u00e3o lidando, eles enviam materiais projetados para ele.<\/p>\n<p>Aqui vale a pena lembrar de dois servi\u00e7os. O primeiro \u00e9 googlefonts.com. O segundo \u00e9 polyfill.io. O servi\u00e7o Google Fonts fornece, para um determinado recurso, diferentes c\u00f3digos CSS, dependendo das capacidades do navegador (oferecendo links para recursos woff2, utilizando <code>unicode-range<\/code>).<\/p>\n<p>Aqui est\u00e3o os resultados de algumas solicita\u00e7\u00f5es ao Google Fonts, realizadas a partir de diferentes navegadores.<\/p>\n<p><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/5078ce754cc324e42261a1749e96a445.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultado da solicita\u00e7\u00e3o para Google Fonts, realizada a partir do Chrome<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/103de3c523a05fdfa230ada49842f124.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultado da solicita\u00e7\u00e3o para Google Fonts, realizada a partir do IE10<\/i><\/p>\n<p>O Polyfill.io fornece ao navegador apenas os polyfills necess\u00e1rios. Isso \u00e9 feito por motivos de desempenho.<\/p>\n<p>Por exemplo, vamos observar o que acontece se realizarmos a seguinte solicita\u00e7\u00e3o a partir de diferentes navegadores: <noindex><a rel=\"nofollow\" href=\"https:\/\/polyfill.io\/v3\/polyfill.js?features=default\">https:\/\/polyfill.io\/v3\/polyfill.js?features=default<\/a><\/noindex><\/p>\n<p>Em resposta a essa solicita\u00e7\u00e3o, realizada a partir do IE10, vir\u00e3o 34 KB de dados. J\u00e1 a resposta a ela, realizada a partir do Chrome, ser\u00e1 vazia.<\/p>\n<h2>Mal\u00e9fico: algumas considera\u00e7\u00f5es sobre privacidade<\/h2>\n<p>\nEste ponto \u00e9 o \u00faltimo em ordem, mas n\u00e3o em import\u00e2ncia. Trata-se do fato de que a hospedagem independente de recursos de terceiros no dom\u00ednio principal do projeto ou em seu subdom\u00ednio pode comprometer a privacidade dos usu\u00e1rios e impactar negativamente o projeto web principal.<\/p>\n<p>Se seu sistema de CDN estiver configurado incorretamente, pode acabar que voc\u00ea estar\u00e1 enviando cookies do seu dom\u00ednio para um servi\u00e7o de terceiros. Se n\u00e3o houver uma filtragem adequada a n\u00edvel de CDN, seus cookies de sess\u00e3o, que em condi\u00e7\u00f5es normais n\u00e3o podem ser acessados em JavaScript (com o atributo <code>httponly<\/code>), podem ser enviados para um host externo.<\/p>\n<p>\u00c9 exatamente isso que pode acontecer com rastreadores como Eulerian ou Criteo. Rastreadores de terceiros podem ter configurado um identificador \u00fanico em cookies. Se estivessem inclu\u00eddos nos materiais dos sites, poderiam ler o identificador como quisessem durante a intera\u00e7\u00e3o do usu\u00e1rio com diferentes recursos web.<\/p>\n<p>Hoje em dia, a maioria dos navegadores inclui prote\u00e7\u00e3o contra esse comportamento dos rastreadores. Como resultado, agora os rastreadores utilizam a tecnologia <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/nextdns\/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a\">CNAME Cloaking<\/a><\/noindex>, se disfar\u00e7ando como scripts pr\u00f3prios de diversos projetos. Mais especificamente, os rastreadores oferecem aos propriet\u00e1rios de sites adicionar em suas configura\u00e7\u00f5es um CNAME para algum dom\u00ednio, cujo endere\u00e7o geralmente parece um conjunto aleat\u00f3rio de caracteres.<\/p>\n<p>Embora n\u00e3o seja recomend\u00e1vel tornar os cookies do site acess\u00edveis a todos os subdom\u00ednios (por exemplo \u2014 *.website.com), isso \u00e9 feito em muitos sites. Nesse caso, esses cookies s\u00e3o automaticamente enviados para o rastreador externo disfar\u00e7ado. Como resultado, j\u00e1 n\u00e3o se pode falar em privacidade.<\/p>\n<p>Al\u00e9m disso, o mesmo acontece com os cabe\u00e7alhos HTTP <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/web\/updates\/2015\/09\/automating-resource-selection-with-client-hints\">Client-Hints<\/a><\/noindex>, que s\u00e3o enviados apenas ao dom\u00ednio principal, uma vez que podem ser utilizados para cria\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/httpwg\/http-extensions\/issues\/767\">digital<\/a><\/noindex> do usu\u00e1rio. Certifique-se de que o servi\u00e7o de CDN que voc\u00ea est\u00e1 usando filtre corretamente esses cabe\u00e7alhos.<\/p>\n<h2>Resultados<\/h2>\n<p>\nSe voc\u00ea planeja implementar em breve o self-hosting de recursos de terceiros \u2014 deixe-me dar algumas dicas:<\/p>\n<ul>\n<li>Hospede suas bibliotecas JS, fontes e arquivos CSS mais importantes. Isso reduzir\u00e1 o risco de falhas do site ou diminui\u00e7\u00e3o de sua performance devido \u00e0 indisponibilidade de um recurso vital por conta de um servi\u00e7o de terceiros.<\/li>\n<li>Antes de armazenar em cache recursos de terceiros na CDN, assegure-se de que h\u00e1 um sistema de versionamento nos nomes dos arquivos ou que voc\u00ea consiga controlar o ciclo de vida desses recursos, limpando o cache da CDN manualmente ou automaticamente ao publicar uma nova vers\u00e3o do script.<\/li>\n<li>Preste muita aten\u00e7\u00e3o nas configura\u00e7\u00f5es da CDN, proxy e cache. Isso o ajudar\u00e1 a evitar o envio de cookies do seu projeto ou cabe\u00e7alhos <code>Client-Hints<\/code> para servi\u00e7os de terceiros.<\/li>\n<\/ul>\n<p>\n<b>Prezados leitores!<\/b> Voc\u00ea hospeda em seus servidores materiais de terceiros que s\u00e3o extremamente importantes para o funcionamento de seus projetos?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\"><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/30212b2008a5ed0b51a4469d885b9e91.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Hospedagem aut\u00f4noma de recursos de terceiros: boa, ruim, m\u00e1\" src=\"\/wp-content\/uploads\/2019\/12\/7117788d4bd0ef7de47d98a372b72ae7.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/481574\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0443 \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. Akamai \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 URL. \u0423 Cloudflare \u0435\u0441\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f Edge Workers. Fasterzine \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c URL \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u0431\u044b \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043e\u043c\u0435\u043d\u0435 \u0441\u0430\u0439\u0442\u0430. \u0415\u0441\u043b\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54566","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0443 \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432: \u0445\u043e\u0440\u043e\u0448\u0438\u0439, \u043f\u043b\u043e\u0445\u043e\u0439, \u0437\u043b\u043e\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0443 \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-28T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Self-hosting de recursos de terceiros: bom, ruim, feio | ProHoster","description":"Nos \u00faltimos anos, cada vez mais plataformas para otimiza\u00e7\u00e3o de projetos frontend oferecem possibilidades de self-hosting ou proxy de recursos de terceiros.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432: \u0445\u043e\u0440\u043e\u0448\u0438\u0439, \u043f\u043b\u043e\u0445\u043e\u0439, \u0437\u043b\u043e\u0439 | ProHoster","og:description":"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0443 \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-28T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54566","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 11:52:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:02:46","updated":"2026-08-11 12:50:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/54566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=54566"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/54566\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=54566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=54566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=54566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}