{"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\/nl\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","title":{"rendered":"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In de afgelopen jaren bieden steeds meer platforms voor het optimaliseren van frontend-projecten mogelijkheden voor zelfhosting of het proxy'en van externe bronnen. Akamai stelt in staat om <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\">specifieke parameters<\/a><\/noindex> voor zelfgecre\u00eberde URL's in te stellen. Cloudflare heeft de technologie Edge Workers. Fasterzine kan <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fasterize.com\/en\/blog\/https-the-impact-on-your-loading-times\/\">de URL's op pagina's herschrijven zodat ze verwijzen naar externe bronnen die zich op het hoofddomein van de website bevinden.<\/a><\/noindex> Als je weet dat externe diensten die in je project worden gebruikt niet te vaak veranderen, en dat het proces van hun levering aan klanten kan worden verbeterd, dan denk je er vast over na om dergelijke diensten te proxyn. Met deze aanpak kun je deze bronnen dichter bij gebruikers brengen en meer controle over hun caching aan de klantzijde verkrijgen. Dit beschermt gebruikers bovendien tegen problemen veroorzaakt door de 'uitval' van een externe dienst of de degradatie van de prestaties ervan.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/481574\/\"><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/61f87db89ba8c5f4bf030a4004df56f3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Goed: prestatieverbetering<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Zelfhosting van externe bronnen verbetert de prestaties op een voor de hand liggende manier. De browser hoeft niet nog een keer DNS aan te roepen, hoeft geen TCP-verbinding te maken en hoeft geen TLS-handshake uit te voeren op een extern domein. De impact van zelfhosting van externe bronnen op de prestaties kan worden gezien door de volgende twee afbeeldingen te vergelijken.<\/h2>\n<p>\nExterne bronnen worden geladen uit externe bronnen (genomen<\/p>\n<p><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/ee0a0ccb712a873d10b8de0dbc7ef84a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Externe bronnen worden opgeslagen op dezelfde plaats als de andere materialen van de website (genomen <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">hier<\/a><\/noindex>)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/e9ee0b858dbb1aa7c6476d8bf954fc62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>De situatie verbetert ook doordat de browser gebruik kan maken van multiplexing en HTTP\/2-gegevensprioritering, die al is ingesteld met het hoofddomein. <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">hier<\/a><\/noindex>)<\/i><\/p>\n<p>Als externe bronnen niet op je eigen domein worden geplaatst, kunnen ze, omdat ze van een ander domein worden geladen, niet worden geprioriteerd. Dit leidt ertoe dat ze met elkaar concurreren om de bandbreedte van de klant. Dit kan ertoe leiden dat de laadtijd van materiaal dat cruciaal is voor het vormgeven van de pagina veel langer is dan de tijd die haalbaar is onder ideale omstandigheden.<\/p>\n<p>een presentatie over HTTP\/2-prioritering, waarin dit allemaal heel goed wordt uitgelegd. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nOW-i6bbRdo\">Hier is<\/a><\/noindex> een presentatie over HTTP\/2-prioritering, waarin dit alles zeer goed wordt uitgelegd.<\/p>\n<p>Het kan worden aangenomen dat het gebruik van attributen in links naar externe bronnen <code>preconnect<\/code> kan helpen bij het oplossen van het probleem. Echter, als er te veel links naar verschillende domeinen zijn, kan dit de lijn communiceren op het meest kritieke moment daadwerkelijk overbelasten.<\/p>\n<p>Als je externe bronnen zelf host, kun je controleren hoe deze bronnen aan de klant worden geleverd. Het gaat in feite om het volgende:<\/p>\n<ul>\n<li>Je kunt een compressie-algoritme toepassen dat het beste geschikt is voor elke browser (Brotli\/gzip).<\/li>\n<li>Je kunt de cachingtijd voor bronnen verhogen, die vaak, zelfs bij de meest bekende providers, niet bijzonder groot is (bijvoorbeeld, de bijbehorende waarde voor het GA-tag is ingesteld op 30 minuten).<\/li>\n<\/ul>\n<p>\nJe kunt zelfs de TTL-waarde voor een bron uitbreiden, bijvoorbeeld tot een jaar, door de relevante materialen op te nemen in je caching-beheer strategie (URL-hashes, versiebeheer, enzovoort). Hierover zullen we hieronder praten.<\/p>\n<h3>\u258dBescherming tegen onderbrekingen van externe services of hun uitschakeling<\/h3>\n<p>\nEen ander interessant aspect van het zelf hosten van externe bronnen is dat het helpt de risico's te verzachten die gepaard gaan met onderbrekingen van externe services. Stel je voor dat de externe oplossing die je gebruikt voor A\/B-testen wordt ge\u00efmplementeerd in de vorm van een blokkering-script, dat in de header van de pagina wordt geladen. Dit script laadt langzaam. Als het niet lukt om het overeenkomstige script te laden, wordt de pagina leeg. Als het laden ervan veel tijd kost, verschijnt de pagina met aanzienlijke vertraging. Of stel je voor dat in het project een bibliotheek wordt gebruikt die van een externe CDN-bron wordt geladen. Stel je voor dat deze bron faalt of in een bepaald land is geblokkeerd. Zo'n situatie zal de logica van de website verstoren.<\/p>\n<p>Om te achterhalen hoe jouw site functioneert in situaties waarin een bepaalde externe service niet beschikbaar is, kun je de SPOF-sectie op <noindex><a rel=\"nofollow\" href=\"https:\/\/www.webpagetest.org\/\">webpagetest.org<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/0ffa0b44054ccd16bab33c6b7beff049.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>De SPOF-sectie op webpagetest.org<\/i><\/p>\n<h3>\u258dWat betreft problemen met het cachen van materialen in browsers? (hint: het is een mythe)<\/h3>\n<p>\nJe zou kunnen denken dat het gebruik van openbare CDN's automatisch leidt tot betere prestaties van bronnen, aangezien deze diensten over netwerken van voldoende kwaliteit beschikken en wereldwijd zijn verspreid. Maar in werkelijkheid ligt het iets ingewikkelder.<\/p>\n<p>Stel dat we verschillende websites hebben: website1.com, website2.com, website3.com. Op al deze websites gebruiken we de jQuery-bibliotheek. We maken deze aanroep via CDN, bijvoorbeeld \u2014 googleapis.com. Men kan verwachten dat de browser de bibliotheek \u00e9\u00e9n keer laadt en opslaat in de cache, en deze vervolgens weer gebruikt voor alle drie de websites. Dit zou de belasting op het netwerk kunnen verlagen. Mogelijk leidt dit tot besparingen en helpt het om de prestaties van bronnen te verbeteren. Vanuit praktisch oogpunt ziet het er echter anders uit. Bijvoorbeeld, Safari heeft een functie ge\u00efmplementeerd die wordt genoemd <noindex><a rel=\"nofollow\" href=\"https:\/\/webkit.org\/blog\/7675\/intelligent-tracking-prevention\/\">Intelligent Tracking Prevention<\/a><\/noindex>: in de cache worden dubbele sleutels gebruikt, gebaseerd op de documentbron en de bron van de externe resource. <noindex><a rel=\"nofollow\" href=\"https:\/\/andydavies.me\/blog\/2018\/09\/06\/safari-caching-and-3rd-party-resources\/\">Hier is<\/a><\/noindex> een goed artikel over dit onderwerp.<\/p>\n<p>Oude onderzoeken <noindex><a rel=\"nofollow\" href=\"https:\/\/yuiblog.com\/blog\/2007\/01\/04\/performance-research-part-2\/\">Yahoo<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/code.facebook.com\/posts\/964122680272229\/web-performance-cache-efficiency-exercise\/\">Facebook<\/a><\/noindex>, en ook recentere <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.httparchive.org\/t\/analyzing-resource-age-by-content-type\/1659\">een onderzoek<\/a><\/noindex> Pola Calvano, tonen aan dat bronnen niet zo lang in de browser caches worden opgeslagen als we zouden verwachten: \"Er is een aanzienlijk verschil tussen de cachingtijd van eigen en externe bronnen van een project. Dit betreft CSS en webfonts. Namelijk, de cachingtijd van 95% van de eigen fonts bedraagt meer dan een week, terwijl de cachingtijd van 50% van de externe fonts minder dan een week bedraagt! Dit biedt webontwikkelaars sterke redenen om fontbestanden zelf te hosten!\"<\/p>\n<p>Als gevolg hiervan, als je externe materialen op je eigen server host, zul je geen prestatieproblemen opmerken veroorzaakt door browsercaching.<\/p>\n<p>Nu we de sterke punten van het zelfhosten van externe resources hebben besproken, laten we het hebben over hoe je een goede implementatie van deze aanpak kunt onderscheiden van een slechte.<\/p>\n<h2>Slecht: de duivel zit hem in de details<\/h2>\n<p>\nHet verplaatsen van externe bronnen naar je eigen domein kan niet automatisch gebeuren zonder ervoor te zorgen dat deze bronnen correct worden gecached.<\/p>\n<p>Een van de belangrijkste problemen hierbij is de cachingtijd. Bijvoorbeeld, versie-informatie wordt opgenomen in de namen van externe scripts als volgt: <code>jquery-3.4.1.js<\/code>. Dit bestand zal in de toekomst niet veranderen, waardoor het geen problemen met de caching zal veroorzaken.<\/p>\n<p>Maar als er geen soort versiebeheer wordt toegepast bij het werken met bestanden, kunnen gecachete scripts, waarvan de inhoud verandert bij een onveranderd bestandsnaam, verouderen. Dit kan een serieus probleem worden, omdat het bijvoorbeeld niet mogelijk is om automatisch beveiligingspatches in scripts aan te brengen, die zo snel mogelijk door klanten moeten worden ontvangen. De ontwikkelaar zal extra inspanningen moeten leveren om deze scripts in de cache bij te werken. Bovendien kan dit leiden tot storingen in de werking van de applicatie, veroorzaakt door het feit dat de code die aan de client wordt geleverd uit de cache verschilt van de nieuwe versie van de code, waarop de serverzijde van het project is gebaseerd.<\/p>\n<p>Echter, als we het hebben over materialen die vaak worden bijgewerkt (tag managers, oplossingen voor A\/B-testen), dan is het cachen voor CDN's weliswaar mogelijk, maar veel ingewikkelder. Diensten zoals Commanders Act, oplossingen voor tagbeheer, gebruiken webhooks bij het publiceren van nieuwe versies. Dit maakt het mogelijk om cache op de CDN te verversen, of nog beter, de hash of versie van de URL bij te werken.<\/p>\n<h3>\u258dAdaptieve levering van materialen aan klanten<\/h3>\n<p>\nBovendien, wanneer we het over caching hebben, moet ook rekening worden gehouden met het feit dat de caching-instellingen die op de CDN worden gebruikt, mogelijk niet geschikt zijn voor bepaalde externe bronnen. Bijvoorbeeld, dergelijke bronnen kunnen gebruik maken van technologie\u00ebn zoals user agent sniffing (adaptive serving) om specifieke browserversies van materialen te leveren, geoptimaliseerd voor die browsers. Deze technologie\u00ebn vertrouwen op reguliere expressies of een database die informatie over de HTTP-header verzamelt. <code>User-Agent<\/code>. Door te achterhalen met welke browser ze te maken hebben, geven ze materialen die op die browser zijn afgestemd.<\/p>\n<p>Hier kunnen we twee diensten noemen. De eerste \u2014 googlefonts.com. De tweede \u2014 polyfill.io. De Google Fonts-service biedt, voor een bepaalde bron, verschillende CSS-code aan, afhankelijk van de mogelijkheden van de browser (door links naar woff2-resources te geven, gebruikmakend van <code>unicode-range<\/code>).<\/p>\n<p>Hier zijn de resultaten van een paar verzoeken aan Google Fonts, uitgevoerd vanuit verschillende browsers.<\/p>\n<p><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/5078ce754cc324e42261a1749e96a445.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultaat van het verzoek aan Google Fonts, uitgevoerd vanuit Chrome<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/103de3c523a05fdfa230ada49842f124.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultaat van het verzoek aan Google Fonts, uitgevoerd vanuit IE10<\/i><\/p>\n<p>Polyfill.io levert de browser alleen de polyfills die het nodig heeft. Dit gebeurt uit prestatieredenen.<\/p>\n<p>Laten we bijvoorbeeld eens kijken naar wat er gebeurt als we de volgende aanvraag vanuit verschillende browsers uitvoeren: <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>In antwoord op een dergelijke aanvraag, uitgevoerd vanuit IE10, zal 34 KB aan gegevens binnenkomen. Maar het antwoord op die aanvraag, uitgevoerd vanuit Chrome, zal leeg zijn.<\/p>\n<h2>Kwaad: enkele overwegingen over privacy<\/h2>\n<p>\nDit is het laatste punt in volgorde, maar niet in belang. Het gaat erom dat het hosten van externe middelen op het hoofddomein van het project of op een subdomein de privacy van gebruikers in gevaar kan brengen en een negatieve impact kan hebben op het belangrijkste webproject.<\/p>\n<p>Als uw CDN-systeem niet goed is ingesteld, kan het eindigen met het verzenden van de cookies van uw domein naar een externe service. Als er op het niveau van de CDN geen juiste filtering is georganiseerd, kunnen uw sessiecookies, die normaal gesproken niet in JavaScript kunnen worden gebruikt (met het attribuut <code>httponly<\/code>), worden verzonden naar een externe host.<\/p>\n<p>Dit kan gebeuren met trackers zoals Eulerian of Criteo. Externe trackers konden een unieke identifier in cookies instellen. Als ze onderdeel waren van de materialen van websites, konden ze de identifier naar eigen inzicht lezen tijdens de interactie van de gebruiker met verschillende webresources.<\/p>\n<p>Tegenwoordig bevatten de meeste browsers bescherming tegen dit soort gedrag van trackers. Hierdoor gebruiken trackers nu de technologie <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/nextdns\/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a\">CNAME Cloaking<\/a><\/noindex>, zich voordoende als hun eigen scripts van verschillende projecten. Dat wil zeggen, trackers bieden website-eigenaren aan om in hun instellingen een CNAME toe te voegen voor een bepaald domein, waarvan het adres meestal lijkt op een willekeurige reeks tekens.<\/p>\n<p>Hoewel het niet wordt aanbevolen om cookies van de website toegankelijk te maken voor alle subdomeinen (bijvoorbeeld \u2014 *.website.com), wordt dit op veel websites gedaan. In dat geval worden dergelijke cookies automatisch verzonden naar de gemaskerde externe tracker. Het resultaat: er kan dan niet meer over privacy worden gesproken.<\/p>\n<p>Bovendien gebeurt hetzelfde met de HTTP-headers <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/web\/updates\/2015\/09\/automating-resource-selection-with-client-hints\">Client-Hints<\/a><\/noindex>, die alleen naar het hoofddomein worden verzonden omdat ze kunnen worden gebruikt voor het cre\u00ebren <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/httpwg\/http-extensions\/issues\/767\">digitale vingerafdruk<\/a><\/noindex> gebruiker. Zorg ervoor dat de CDN-service die u gebruikt deze koppen correct filtreert.<\/p>\n<h2>Conclusies<\/h2>\n<p>\nAls u van plan bent binnenkort zelf externe hosting te implementeren, laat me u dan een paar tips geven:<\/p>\n<ul>\n<li>Host uw belangrijkste JS-bibliotheken, lettertypen en CSS-bestanden zelf. Dit vermindert het risico op een website-uitval of een daling van de prestaties doordat een cruciale bron voor de werking van de site om de een of andere reden niet beschikbaar is.<\/li>\n<li>Voordat u externe middelen op CDN cachet, zorg ervoor dat er een versiebeheersysteem wordt gebruikt bij het benoemen van hun bestanden, of dat u het levenscyclusbeheer van deze middelen kunt regelen door handmatig of automatisch de CDN-cache te wissen bij de publicatie van een nieuwe versie van het script.<\/li>\n<li>Wees uiterst voorzichtig met de instellingen van de CDN, proxyserver en cache. Dit helpt u te voorkomen dat cookies van uw project of koppen worden verzonden <code>Client-Hints<\/code> naar externe diensten.<\/li>\n<\/ul>\n<p>\n<b>Geachte lezers!<\/b> Plaats u vreemde materialen op uw servers die uiterst belangrijk zijn voor de werking van uw projecten?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\"><img decoding=\"async\" alt=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" 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=\"Zelfstandige hosting van externe bronnen: goed, slecht, kwaad\" src=\"\/wp-content\/uploads\/2019\/12\/7117788d4bd0ef7de47d98a372b72ae7.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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\udd47Zelfhosting van externe middelen: goed, slecht, lelijk | ProHoster","description":"In de afgelopen jaren hebben steeds meer platforms voor het optimaliseren van frontend-projecten mogelijkheden geboden voor zelfhosting of het proxy'en van externe middelen.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/54566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=54566"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/54566\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=54566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=54566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=54566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}