{"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\/es\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","title":{"rendered":"Alojamiento independiente de recursos externos: bueno, malo, feo","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>En los \u00faltimos a\u00f1os, cada vez m\u00e1s plataformas para la optimizaci\u00f3n de proyectos frontend ofrecen opciones para la auto-alojamiento o el proxy de recursos externos. Akamai permite establecer <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\u00e1metros espec\u00edficos<\/a><\/noindex> para URLs creadas de forma aut\u00f3noma. Cloudflare tiene la tecnolog\u00eda Edge Workers. Fasterzine puede <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fasterize.com\/en\/blog\/https-the-impact-on-your-loading-times\/\">reescribir<\/a><\/noindex> las URLs en las p\u00e1ginas de manera que apunten a recursos externos que se encuentran en el dominio principal del sitio.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/481574\/\"><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/61f87db89ba8c5f4bf030a4004df56f3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Si sabe que los servicios externos utilizados en su proyecto no cambian con frecuencia y que el proceso de entrega a los clientes puede mejorarse, seguramente est\u00e1 considerando el proxy de tales servicios. Con este enfoque, puede \"acercar\" esos recursos a los usuarios y obtener un control m\u00e1s completo sobre su almacenamiento en cach\u00e9 del lado del cliente. Esto, adem\u00e1s, permite proteger a los usuarios de los inconvenientes causados por la \"ca\u00edda\" del servicio externo o por la degradaci\u00f3n de su rendimiento.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Bueno: aumento del rendimiento<\/h2>\n<p>\nEl auto-alojamiento de recursos externos mejora el rendimiento de manera bastante obvia. El navegador no necesita hacer una consulta adicional al DNS, no tiene que establecer una conexi\u00f3n TCP y realizar un apret\u00f3n de manos TLS en un dominio externo. El impacto del auto-alojamiento de recursos externos en el rendimiento se puede observar comparando los dos siguientes gr\u00e1ficos.<\/p>\n<p><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/ee0a0ccb712a873d10b8de0dbc7ef84a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Los recursos externos se cargan desde fuentes externas (tomado <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">desde aqu\u00ed<\/a><\/noindex>)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/e9ee0b858dbb1aa7c6476d8bf954fc62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Los recursos externos se almacenan junto con otros materiales del sitio (tomado <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">desde aqu\u00ed<\/a><\/noindex>)<\/i><\/p>\n<p>La situaci\u00f3n mejora a\u00fan m\u00e1s, ya que el navegador utilizar\u00e1 las capacidades de multiplexi\u00f3n y priorizaci\u00f3n de la conexi\u00f3n HTTP\/2 que ya se ha establecido con el dominio principal.<\/p>\n<p>Si no aloja recursos externos, ya que se cargar\u00e1n desde un dominio diferente al principal, no se podr\u00e1n priorizar. Esto har\u00e1 que compitan entre s\u00ed por el ancho de banda del cliente. Esto puede llevar a que el tiempo de carga de materiales cr\u00edticos para la formaci\u00f3n de la p\u00e1gina sea mucho mayor que el tiempo alcanzable en un escenario ideal. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nOW-i6bbRdo\">Aqu\u00ed<\/a><\/noindex> una presentaci\u00f3n sobre la priorizaci\u00f3n HTTP\/2, en la que se explica todo esto muy bien.<\/p>\n<p>Se puede suponer que el uso de atributos en enlaces a recursos externos <code>preconnect<\/code> ayudar\u00e1 a resolver el problema. Sin embargo, si hay demasiados enlaces a diferentes dominios, esto puede, de hecho, sobrecargar la l\u00ednea de comunicaci\u00f3n en el momento m\u00e1s cr\u00edtico.<\/p>\n<p>Si se alojan recursos de terceros de manera independiente, se puede controlar c\u00f3mo se entregan exactamente esos recursos al cliente. En particular, se trata de lo siguiente:<\/p>\n<ul>\n<li>Se puede asegurar la aplicaci\u00f3n de un algoritmo de compresi\u00f3n de datos, el m\u00e1s adecuado para cada navegador (Brotli\/gzip).<\/li>\n<li>Se puede aumentar el tiempo de cach\u00e9 de los recursos, que generalmente, incluso entre los proveedores m\u00e1s conocidos, no es muy alto (por ejemplo, el valor correspondiente para las etiquetas de GA est\u00e1 establecido en 30 minutos).<\/li>\n<\/ul>\n<p>\nIncluso se puede extender el indicador TTL para un recurso, por ejemplo, hasta un a\u00f1o, incorporando los materiales correspondientes en su estrategia de gesti\u00f3n de cach\u00e9 (hashes de URL, versionado, etc.). Hablaremos de esto m\u00e1s adelante.<\/p>\n<h3>\u258dProtecci\u00f3n contra interrupciones en los servicios de terceros o su desactivaci\u00f3n<\/h3>\n<p>\nOtro aspecto interesante del alojamiento independiente de recursos de terceros es que permite mitigar los riesgos asociados con las interrupciones en los servicios de terceros. Supongamos que la soluci\u00f3n de terceros que utiliza para realizar pruebas A\/B se implementa en forma de un script bloqueante que se carga en la secci\u00f3n de encabezado de la p\u00e1gina. Este script se carga lentamente. Si no se puede cargar el script correspondiente, la p\u00e1gina estar\u00e1 vac\u00eda. Si la carga del script demora mucho tiempo, la p\u00e1gina aparecer\u00e1 con gran retraso. O, supongamos que en el proyecto se utiliza una biblioteca que se carga desde un recurso CDN externo. Imaginemos que este recurso ha fallado o ha sido bloqueado en alg\u00fan pa\u00eds. Tal situaci\u00f3n llevar\u00e1 a una interrupci\u00f3n en la l\u00f3gica de funcionamiento del sitio.<\/p>\n<p>Para conocer c\u00f3mo funciona su sitio en condiciones de inaccesibilidad de un servicio externo, puede utilizar la secci\u00f3n SPOF en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.webpagetest.org\/\">webpagetest.org<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/0ffa0b44054ccd16bab33c6b7beff049.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>La secci\u00f3n SPOF en webpagetest.org<\/i><\/p>\n<h3>\u258d\u00bfY qu\u00e9 pasa con los problemas de almacenamiento en cach\u00e9 de los materiales en los navegadores? (pista: es un mito)<\/h3>\n<p>\nSe podr\u00eda pensar que el uso de CDNs p\u00fablicos mejorar\u00e1 autom\u00e1ticamente el rendimiento de los recursos, ya que estos servicios cuentan con redes de calidad y est\u00e1n distribuidos por todo el mundo. Pero, en realidad, la situaci\u00f3n es un poco m\u00e1s compleja.<\/p>\n<p>Supongamos que tenemos varios sitios diferentes: website1.com, website2.com, website3.com. En todos estos sitios se utiliza la biblioteca jQuery. La conectamos a ellos usando un CDN, por ejemplo, googleapis.com. Se podr\u00eda esperar que el navegador la cargue y la almacene en cach\u00e9 una vez, para luego usarla en todos los tres sitios. Esto podr\u00eda reducir la carga en la red. Tal vez permita ahorrar en algunos lugares y ayude a mejorar el rendimiento de los recursos. Sin embargo, desde un punto de vista pr\u00e1ctico, todo se ve diferente. Por ejemplo, Safari implementa una caracter\u00edstica llamada <noindex><a rel=\"nofollow\" href=\"https:\/\/webkit.org\/blog\/7675\/intelligent-tracking-prevention\/\">Intelligent Tracking Prevention<\/a><\/noindex>: en la cach\u00e9 se utilizan claves dobles, basadas en la fuente del documento y en la fuente del recurso externo. <noindex><a rel=\"nofollow\" href=\"https:\/\/andydavies.me\/blog\/2018\/09\/06\/safari-caching-and-3rd-party-resources\/\">Aqu\u00ed<\/a><\/noindex> un buen art\u00edculo sobre este tema.<\/p>\n<p>Investigaciones antiguas <noindex><a rel=\"nofollow\" href=\"https:\/\/yuiblog.com\/blog\/2007\/01\/04\/performance-research-part-2\/\">Yahoo<\/a><\/noindex> y <noindex><a rel=\"nofollow\" href=\"https:\/\/code.facebook.com\/posts\/964122680272229\/web-performance-cache-efficiency-exercise\/\">Facebook<\/a><\/noindex>, as\u00ed como m\u00e1s recientes <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.httparchive.org\/t\/analyzing-resource-age-by-content-type\/1659\">estudio<\/a><\/noindex> de Paul Calvano, muestran que los recursos no se almacenan en las cach\u00e9s de los navegadores tanto tiempo como podr\u00edamos esperar: 'Hay una brecha significativa entre el tiempo de almacenamiento en cach\u00e9 de los recursos propios y los externos del proyecto. Se refiere a los CSS y a las fuentes web. En concreto, el tiempo de almacenamiento en cach\u00e9 del 95% de las fuentes propias supera la semana, mientras que el tiempo de almacenamiento en cach\u00e9 del 50% de las fuentes externas es de menos de una semana. Esto brinda a los desarrolladores web razones s\u00f3lidas para alojar los archivos de fuentes por s\u00ed mismos.'<\/p>\n<p>Como resultado, si aloja materiales de terceros, no notar\u00e1 problemas de rendimiento causados por el almacenamiento en cach\u00e9 del navegador.<\/p>\n<p>Ahora que hemos explorado las ventajas del autoalojo de recursos externos, hablemos sobre c\u00f3mo distinguir una buena implementaci\u00f3n de este enfoque de una mala.<\/p>\n<h2>Malo: el diablo est\u00e1 en los detalles<\/h2>\n<p>\nMover recursos externos a su propio dominio no se puede hacer autom\u00e1ticamente sin asegurar un correcto almacenamiento en cach\u00e9 de dichos recursos.<\/p>\n<p>Uno de los principales problemas aqu\u00ed es el tiempo de almacenamiento en cach\u00e9. Por ejemplo, la informaci\u00f3n sobre versiones se incluye en los nombres de los scripts externos de la siguiente manera: <code>jquery-3.4.1.js<\/code>. Este archivo no cambiar\u00e1 en el futuro, por lo que esto no causar\u00e1 ning\u00fan problema con su almacenamiento en cach\u00e9.<\/p>\n<p>Pero si no se aplica alg\u00fan esquema de versionado al trabajar con archivos, los scripts en cach\u00e9, cuyo contenido cambia con el mismo nombre de archivo, pueden quedar obsoletos. Esto puede convertirse en un problema serio, ya que, por ejemplo, no permite aplicar correcciones de seguridad a los scripts autom\u00e1ticamente, las cuales deben ser implementadas por los clientes lo m\u00e1s pronto posible. El desarrollador tendr\u00e1 que esforzarse para actualizar esos scripts en la cach\u00e9. Adem\u00e1s, esto puede causar fallos en la aplicaci\u00f3n, debido a que el c\u00f3digo utilizado en el cliente desde la cach\u00e9 es diferente de la versi\u00f3n actualizada de c\u00f3digo en la que se basa la parte del servidor del proyecto.<\/p>\n<p>Sin embargo, cuando hablamos de materiales que se actualizan con frecuencia (gestores de etiquetas, soluciones de A\/B testing), el almacenamiento en cach\u00e9 para los CDN es una tarea que, aunque se puede resolver, es mucho m\u00e1s compleja. Servicios como Commanders Act, soluciones para la gesti\u00f3n de etiquetas, utilizan webhooks al publicar nuevas versiones. Esto permite organizar la invalidaci\u00f3n de la cach\u00e9 en el CDN o, mejor a\u00fan, la posibilidad de provocar la actualizaci\u00f3n del hash o versi\u00f3n del URL.<\/p>\n<h3>\u258dEntrega adaptable de materiales a los clientes<\/h3>\n<p>\nAdem\u00e1s, cuando hablamos de almacenamiento en cach\u00e9, tambi\u00e9n debemos considerar que las configuraciones de cach\u00e9 utilizadas en el CDN pueden no ser adecuadas para ciertos recursos externos. Por ejemplo, estos recursos pueden utilizar la tecnolog\u00eda de detecci\u00f3n del agente de usuario (user agent sniffing, adaptive serving) para entregar a navegadores espec\u00edficos versiones de materiales optimizadas espec\u00edficamente para esos navegadores. Estas tecnolog\u00edas, para averiguar las capacidades del navegador, se basan en expresiones regulares o en una base de datos que recopila informaci\u00f3n sobre los encabezados HTTP. <code>User-Agent<\/code>. Al saber qu\u00e9 navegador est\u00e1n tratando, les entregan materiales dise\u00f1ados para \u00e9l.<\/p>\n<p>Aqu\u00ed se pueden recordar dos servicios. El primero es googlefonts.com. El segundo es polyfill.io. El servicio Google Fonts proporciona, para un recurso dado, diferentes c\u00f3digos CSS que dependen de las capacidades del navegador (proporcionando enlaces a recursos woff2, utilizando <code>unicode-range<\/code>).<\/p>\n<p>Estos son los resultados de un par de consultas a Google Fonts realizadas desde diferentes navegadores.<\/p>\n<p><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/5078ce754cc324e42261a1749e96a445.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultado de la consulta a Google Fonts, realizada desde Chrome<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/103de3c523a05fdfa230ada49842f124.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultado de la consulta a Google Fonts, realizada desde IE10<\/i><\/p>\n<p>Polyfill.io proporciona al navegador solo los polyfills que necesita. Esto se hace por razones de rendimiento.<\/p>\n<p>Por ejemplo, veamos qu\u00e9 suceder\u00e1 si se realiza la siguiente consulta desde 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>En respuesta a tal consulta, realizada desde IE10, se enviar\u00e1n 34 KB de datos. En cambio, la respuesta a la misma consulta realizada desde Chrome ser\u00e1 vac\u00eda.<\/p>\n<h2>Maligno: algunas consideraciones sobre la privacidad<\/h2>\n<p>\nEste punto es el \u00faltimo en orden, pero no en importancia. Se trata de que alojar recursos de terceros en el dominio principal del proyecto o en su subdominio puede poner en riesgo la privacidad de los usuarios y afectar negativamente al proyecto web principal.<\/p>\n<p>Si su sistema CDN no est\u00e1 configurado correctamente, todo puede acabar con el env\u00edo de las cookies de su dominio a un servicio externo. Si no se organiza una filtraci\u00f3n adecuada a nivel de CDN, sus cookies de sesi\u00f3n, que normalmente no se pueden usar en JavaScript (con el atributo <code>httponly<\/code>), pueden ser enviadas a un host externo.<\/p>\n<p>Esto puede ocurrir con rastreadores como Eulerian o Criteo. Los rastreadores de terceros podr\u00edan establecer un identificador \u00fanico en las cookies. Si estaban incluidos en los materiales de los sitios, pod\u00edan leer el identificador a su antojo mientras el usuario interactuaba con diferentes recursos web.<\/p>\n<p>Hoy en d\u00eda, la mayor\u00eda de navegadores incluyen protecci\u00f3n contra este tipo de comportamiento de los rastreadores. Como resultado, los rastreadores ahora utilizan la tecnolog\u00eda <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/nextdns\/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a\">CNAME Cloaking<\/a><\/noindex>, ocult\u00e1ndose bajo sus propios scripts de varios proyectos. En particular, los rastreadores sugieren a los propietarios de sitios que a\u00f1adan en su configuraci\u00f3n un CNAME para un dominio, cuya direcci\u00f3n suele parecer un conjunto aleatorio de caracteres.<\/p>\n<p>Aunque no se recomienda hacer que las cookies del sitio web est\u00e9n disponibles para todos los subdominios (por ejemplo \u2014 *.website.com), esto se hace en muchos sitios. En tal caso, dichas cookies se env\u00edan autom\u00e1ticamente a un rastreador externo disfrazado. Como resultado, ya no se puede hablar de privacidad.<\/p>\n<p>Adem\u00e1s, lo mismo ocurre con los encabezados 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 solo se env\u00edan al dominio principal, ya que pueden ser utilizados para crear <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/httpwg\/http-extensions\/issues\/767\">huella digital<\/a><\/noindex> del usuario. Aseg\u00farese de que el servicio CDN que utiliza filtre correctamente dichos encabezados.<\/p>\n<h2>Resultados<\/h2>\n<p>\nSi planea implementar en breve el autoalojamiento de recursos de terceros, perm\u00edtame darle algunos consejos:<\/p>\n<ul>\n<li>Aloje sus bibliotecas JS, fuentes y archivos CSS m\u00e1s importantes. Esto reducir\u00e1 el riesgo de que su sitio se caiga o su rendimiento disminuya debido a que un recurso vital se vuelve inaccesible por culpa de un servicio externo.<\/li>\n<li>Antes de almacenar en cach\u00e9 recursos de terceros en el CDN, aseg\u00farese de que se est\u00e9 utilizando alg\u00fan sistema de versionado para nombrar sus archivos, o que puede gestionar el ciclo de vida de estos recursos, ya sea manualmente o restableciendo autom\u00e1ticamente la cach\u00e9 del CDN al publicar una nueva versi\u00f3n del script.<\/li>\n<li>Preste mucha atenci\u00f3n a la configuraci\u00f3n del CDN, proxy y cach\u00e9. Esto le permitir\u00e1 evitar el env\u00edo de cookies de su proyecto o encabezados <code>Client-Hints<\/code> a servicios de terceros.<\/li>\n<\/ul>\n<p>\n<b>\u00a1Estimados lectores!<\/b> \u00bfEst\u00e1 alojando en sus servidores materiales de otros que son extremadamente importantes para el funcionamiento de sus proyectos?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\"><img decoding=\"async\" alt=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" 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=\"Alojamiento independiente de recursos externos: bueno, malo, feo\" src=\"\/wp-content\/uploads\/2019\/12\/7117788d4bd0ef7de47d98a372b72ae7.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Fuente: <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.2 - 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\/es\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Autoalojamiento de recursos de terceros: bueno, malo, feo | ProHoster","description":"En los \u00faltimos a\u00f1os, cada vez m\u00e1s plataformas para optimizar proyectos frontend ofrecen opciones para el autoalojamiento o el proxy de recursos de terceros.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/54566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=54566"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/54566\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=54566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=54566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=54566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}