{"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\/de\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","title":{"rendered":"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In den letzten Jahren bieten immer mehr Plattformen zur Optimierung von Frontend-Projekten die M\u00f6glichkeit, Ressourcen selbst zu hosten oder externe Ressourcen zu proxyen. Akamai erm\u00f6glicht es, <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\">spezifische Parameter<\/a><\/noindex> f\u00fcr selbst erstellte URLs festzulegen. Cloudflare hat die Technologie Edge Workers. Fasterzine kann <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fasterize.com\/en\/blog\/https-the-impact-on-your-loading-times\/\">URLs umschreiben,<\/a><\/noindex> sodass sie auf externe Ressourcen verweisen, die sich auf der Hauptdomain der Website befinden.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/481574\/\"><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/61f87db89ba8c5f4bf030a4004df56f3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Wenn bekannt ist, dass die externen Dienste, die in Ihrem Projekt verwendet werden, nicht allzu h\u00e4ufig ge\u00e4ndert werden, und der Prozess ihrer Bereitstellung f\u00fcr die Kunden verbessert werden kann, denken Sie sicherlich \u00fcber das Proxying solcher Dienste nach. Bei diesem Ansatz k\u00f6nnen Sie diese Ressourcen ``n\u00e4her'' zu den Benutzern bringen und eine umfassendere Kontrolle \u00fcber deren Caching auf der Client-Seite erlangen. Dies sch\u00fctzt zudem die Nutzer vor Problemen, die durch das ``Ausfallen'' eines externen Dienstes oder eine Verschlechterung seiner Leistungsf\u00e4higkeit verursacht werden k\u00f6nnten.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Gut: Leistungssteigerung<\/h2>\n<p>\nDas selbstst\u00e4ndige Hosting externer Ressourcen verbessert die Leistung auf recht offensichtliche Weise. Der Browser muss nicht erneut auf DNS zugreifen, muss keine TCP-Verbindung herstellen und kein TLS-Handshake auf einer externen Domain durchf\u00fchren. Wie sich das selbstst\u00e4ndige Hosting externer Ressourcen auf die Leistung auswirkt, kann man sehen, indem man die folgenden zwei Abbildungen vergleicht.<\/p>\n<p><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/ee0a0ccb712a873d10b8de0dbc7ef84a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Externe Ressourcen werden aus externen Quellen geladen (genommen <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">von hier<\/a><\/noindex>)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/e9ee0b858dbb1aa7c6476d8bf954fc62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Externe Ressourcen werden dort gespeichert, wo auch die anderen Materialien der Website sind (genommen <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">von hier<\/a><\/noindex>)<\/i><\/p>\n<p>Die Situation wird zus\u00e4tzlich verbessert, da der Browser die M\u00f6glichkeiten zur Multiplexierung und Priorisierung von HTTP\/2-Datenverbindungen nutzt, die bereits mit der Hauptdomain hergestellt wurden.<\/p>\n<p>Wenn Sie externe Ressourcen nicht selbst hosten, k\u00f6nnen diese nicht priorisiert werden, da sie von einer Domain geladen werden, die sich von der Hauptdomain unterscheidet. Dies wird dazu f\u00fchren, dass sie gegeneinander um die Bandbreite des Clients konkurrieren. Dies kann dazu f\u00fchren, dass die Ladezeiten von f\u00fcr die Seitenbildung kritischen Materialien wesentlich l\u00e4nger sind als in einem idealen Fall. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nOW-i6bbRdo\">Hier<\/a><\/noindex> eine Pr\u00e4sentation zur HTTP\/2-Priorisierung, in der all dies sehr gut erkl\u00e4rt wird.<\/p>\n<p>Es kann angenommen werden, dass die Verwendung von Attributen in Links zu externen Ressourcen <code>preconnect<\/code> bei der L\u00f6sung des Problems helfen wird. Wenn es jedoch zu viele solcher Links zu unterschiedlichen Domains gibt, kann dies tats\u00e4chlich die Verbindung in einem entscheidenden Moment \u00fcberlasten.<\/p>\n<p>Wenn man externe Ressourcen selbst hostet, kann man kontrollieren, wie diese Ressourcen dem Client bereitgestellt werden. Konkret geht es um Folgendes:<\/p>\n<ul>\n<li>Man kann sicherstellen, dass ein Datenkompressionsalgorithmus angewendet wird, der am besten f\u00fcr jeden Browser geeignet ist (Brotli\/gzip).<\/li>\n<li>Man kann die Cache-Zeit der Ressourcen erh\u00f6hen, die selbst bei den bekanntesten Anbietern oft nicht besonders hoch ist (zum Beispiel ist der entsprechende Wert f\u00fcr das GA-Tag auf 30 Minuten eingestellt).<\/li>\n<\/ul>\n<p>\nMan kann sogar den TTL-Wert f\u00fcr eine Ressource, beispielsweise auf ein Jahr, erweitern, indem man die entsprechenden Materialien in seine Caching-Strategie einbezieht (URL-Hashes, Versionierung usw.). Dar\u00fcber werden wir gleich sprechen.<\/p>\n<h3>\u258dSchutz vor Unterbrechungen bei externen Diensten oder deren Abschaltung<\/h3>\n<p>\nEin weiterer interessanter Aspekt des Selbsthostings externer Ressourcen liegt darin, dass es hilft, die Risiken im Zusammenhang mit Unterbrechungen bei externen Diensten zu verringern. Angenommen, die von Ihnen verwendete externe L\u00f6sung f\u00fcr A\/B-Tests wird in Form eines blockierenden Skripts implementiert, das im Header-Bereich der Seite geladen wird. Dieses Skript wird langsam geladen. Wenn das entsprechende Skript nicht geladen werden kann, wird die Seite leer sein. Wenn das Laden lange dauert, erscheint die Seite mit gro\u00dfer Verz\u00f6gerung. Oder nehmen wir an, im Projekt wird eine Bibliothek verwendet, die von einem externen CDN geladen wird. Stellen Sie sich vor, dieser Dienst hat einen Ausfall erlitten oder wurde in einem bestimmten Land blockiert. Eine solche Situation w\u00fcrde die Logik der Website beeintr\u00e4chtigen.<\/p>\n<p>Um herauszufinden, wie Ihre Website in den F\u00e4llen funktioniert, in denen ein externer Dienst nicht verf\u00fcgbar ist, k\u00f6nnen Sie den Abschnitt SPOF auf <noindex><a rel=\"nofollow\" href=\"https:\/\/www.webpagetest.org\/\">webpagetest.org<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/0ffa0b44054ccd16bab33c6b7beff049.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Der SPOF-Abschnitt auf webpagetest.org<\/i><\/p>\n<h3>\u258dUnd was ist mit Problemen beim Caching von Materialien in Browsern? (Hinweis: Das ist ein Mythos)<\/h3>\n<p>\nMan k\u00f6nnte denken, dass die Verwendung \u00f6ffentlicher CDNs automatisch zu einer besseren Leistung von Ressourcen f\u00fchrt, da diese Dienste \u00fcber qualitativ hochwertige Netzwerke verf\u00fcgen und weltweit verteilt sind. Doch in Wirklichkeit ist alles etwas komplizierter.<\/p>\n<p>Angenommen, wir haben mehrere verschiedene Websites: website1.com, website2.com, website3.com. Auf all diesen Websites verwenden wir die jQuery-Bibliothek. Wir binden sie \u00fcber ein CDN ein, beispielsweise \u2014 googleapis.com. Man k\u00f6nnte erwarten, dass der Browser die Bibliothek einmal l\u00e4dt und im Cache speichert, und sie dann bei der Arbeit mit allen drei Websites verwendet. Das k\u00f6nnte die Netzwerkbelastung verringern. M\u00f6glicherweise spart das irgendwo Kosten und hilft, die Leistung der Ressourcen zu verbessern. Aus praktischer Sicht sieht es jedoch anders aus. Zum Beispiel ist im Safari-Browser eine Funktion implementiert, die <noindex><a rel=\"nofollow\" href=\"https:\/\/webkit.org\/blog\/7675\/intelligent-tracking-prevention\/\">Intelligent Tracking Prevention<\/a><\/noindex>: Im Cache werden doppelte Schl\u00fcssel verwendet, die auf der Dokumentquelle und der Quelle der Drittanbieter-Ressource basieren. <noindex><a rel=\"nofollow\" href=\"https:\/\/andydavies.me\/blog\/2018\/09\/06\/safari-caching-and-3rd-party-resources\/\">Hier<\/a><\/noindex> ein guter Artikel zu diesem Thema.<\/p>\n<p>\u00c4ltere Studien <noindex><a rel=\"nofollow\" href=\"https:\/\/yuiblog.com\/blog\/2007\/01\/04\/performance-research-part-2\/\">Yahoo<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/code.facebook.com\/posts\/964122680272229\/web-performance-cache-efficiency-exercise\/\">Facebook<\/a><\/noindex>, sowie neuere <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.httparchive.org\/t\/analyzing-resource-age-by-content-type\/1659\">Untersuchung<\/a><\/noindex> von Paula Calvano zeigen, dass Ressourcen nicht so lange in den Browser-Caches gespeichert werden, wie wir erwarten k\u00f6nnten: \"Es gibt eine erhebliche Kluft zwischen der Cache-Dauer eigener und fremder Ressourcen eines Projekts. Dies gilt f\u00fcr CSS und Webfonts. Genauer gesagt, die Cache-Dauer von 95 % der eigenen Schriftarten \u00fcberschreitet eine Woche, w\u00e4hrend die Cache-Dauer von 50 % der fremden Schriftarten weniger als eine Woche betr\u00e4gt! Das gibt Webentwicklern triftige Gr\u00fcnde f\u00fcr das Self-Hosting von Schriftartdateien!\"<\/p>\n<p>Daher werden Sie, wenn Sie fremde Materialien selbst hosten, keine Probleme mit der Leistung bemerken, die durch das Browser-Caching verursacht werden.<\/p>\n<p>Jetzt, wo wir die Vorteile des Self-Hostings von Drittanbieter-Ressourcen betrachtet haben, lassen Sie uns dar\u00fcber sprechen, wie man eine gute Umsetzung dieses Ansatzes von einer schlechten unterscheidet.<\/p>\n<h2>Schlecht: Der Teufel steckt im Detail<\/h2>\n<p>\nDas Verschieben von Drittanbieter-Ressourcen auf die eigene Domain kann nicht automatisch erfolgen, ohne das richtige Caching dieser Ressourcen zu gew\u00e4hrleisten.<\/p>\n<p>Eines der Hauptprobleme hier ist die Cache-Dauer. Beispielsweise werden Versionsinformationen in die Namen der Drittanbieter-Skripte etwa so eingebunden: <code>jquery-3.4.1.js<\/code>. Eine solche Datei wird sich in Zukunft nicht \u00e4ndern, was keine Probleme beim Caching verursachen wird.<\/p>\n<p>Wenn jedoch kein Versionsschema f\u00fcr die Arbeit mit Dateien angewendet wird, k\u00f6nnen gecachte Skripte, deren Inhalt sich bei unver\u00e4ndertem Dateinamen \u00e4ndert, veraltet sein. Dies kann ein ernstes Problem darstellen, da es beispielsweise nicht erm\u00f6glicht, Sicherheitskorrekturen automatisch in die Skripte einzuf\u00fcgen, die so schnell wie m\u00f6glich den Kunden zur Verf\u00fcgung stehen m\u00fcssen. Der Entwickler muss sich bem\u00fchen, solche Skripte im Cache zu aktualisieren. Dar\u00fcber hinaus kann dies zu Fehlfunktionen der Anwendung f\u00fchren, die daraus resultieren, dass der Code, der vom Client aus dem Cache verwendet wird, sich von der aktuellen Version des Codes unterscheidet, die f\u00fcr den Serverteil des Projekts vorgesehen ist.<\/p>\n<p>Es stimmt, dass beim Sprechen von Materialien, die h\u00e4ufig aktualisiert werden (Tag-Manager, L\u00f6sungen f\u00fcr A\/B-Tests), das Caching \u00fcber CDN zwar umsetzbar, aber bereits deutlich komplexer ist. Dienste wie Commanders Act, Tag-Management-L\u00f6sungen, verwenden beim Ver\u00f6ffentlichen neuer Versionen Webhooks. Dies erm\u00f6glicht es, einen Cache-Reset auf CDN zu organisieren oder, was noch besser ist, die Aktualisierung des Hashes oder der Version der URL auszul\u00f6sen.<\/p>\n<h3>\u258dAdaptive Bereitstellung von Materialien f\u00fcr Kunden<\/h3>\n<p>\nWenn wir \u00fcber Caching sprechen, muss auch ber\u00fccksichtigt werden, dass die Caching-Einstellungen, die auf CDN verwendet werden, m\u00f6glicherweise nicht f\u00fcr bestimmte externe Ressourcen geeignet sind. Beispielsweise k\u00f6nnen solche Ressourcen die Technologie des User-Agent-Sniffing (User-Agent-Detektion, adaptive Bereitstellung) nutzen, um spezifische, speziell f\u00fcr diese Browser optimierte Versionen von Materialien bereitzustellen. Diese Technologien verlassen sich auf regul\u00e4re Ausdr\u00fccke oder auf eine Datenbank, in der Informationen \u00fcber HTTP-Header gesammelt sind. <code>User-Agent<\/code>. Nachdem sie herausgefunden haben, mit welchem Browser sie es zu tun haben, stellen sie ihm die Materialien zur Verf\u00fcgung, die f\u00fcr ihn vorgesehen sind.<\/p>\n<p>Hier k\u00f6nnen wir an zwei Dienste denken. Ersterer ist googlefonts.com. Zweiterer ist polyfill.io. Der Dienst Google Fonts bietet f\u00fcr eine bestimmte Ressource verschiedenen CSS-Code an, der von den F\u00e4higkeiten des Browsers abh\u00e4ngt (indem er auf woff2-Ressourcen verweist, unter Verwendung von <code>unicode-range<\/code>).<\/p>\n<p>Hier sind die Ergebnisse einiger Anfragen an Google Fonts, die aus verschiedenen Browsern durchgef\u00fchrt wurden.<\/p>\n<p><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/5078ce754cc324e42261a1749e96a445.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Das Ergebnis der Anfrage an Google Fonts, ausgef\u00fchrt aus Chrome<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/103de3c523a05fdfa230ada49842f124.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Das Ergebnis der Anfrage an Google Fonts, ausgef\u00fchrt aus IE10<\/i><\/p>\n<p>Polyfill.io liefert dem Browser nur die Polyfills, die er ben\u00f6tigt. Dies geschieht aus Leistungsgr\u00fcnden.<\/p>\n<p>Betrachten wir beispielsweise, was passiert, wenn wir die folgende Anfrage aus verschiedenen Browsern ausf\u00fchren: <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>Als Antwort auf eine solche Anfrage, die aus IE10 ausgef\u00fchrt wurde, werden 34 KB Daten zur\u00fcckkommen. Die Antwort darauf, die aus Chrome ausgef\u00fchrt wurde, wird leer sein.<\/p>\n<h2>B\u00f6se: einige \u00dcberlegungen zum Datenschutz<\/h2>\n<p>\nDieser Punkt ist zwar der letzte in der Reihenfolge, jedoch nicht in der Wichtigkeit. Es geht darum, dass das Hosting von Drittressourcen auf der Hauptdomain des Projekts oder auf seinem Subdomain die Privatsph\u00e4re der Benutzer gef\u00e4hrden und sich negativ auf das Hauptwebprojekt auswirken kann.<\/p>\n<p>Wenn Ihr CDN-System falsch konfiguriert ist, kann es letztendlich dazu f\u00fchren, dass Sie Cookies Ihrer Domain an einen Drittanbieter senden. Wenn auf der CDN-Ebene keine richtige Filterung organisiert wird, k\u00f6nnten Ihre Session-Cookies, auf die in der Regel nicht in JavaScript zugegriffen werden kann (mit dem Attribut <code>httponly<\/code>), an einen fremden Host gesendet werden.<\/p>\n<p>Genau das k\u00f6nnte mit Trackern wie Eulerian oder Criteo geschehen. Drittanbieter-Tracker konnten einen eindeutigen Identifikator in Cookies setzen. Wenn sie Teil der Webseiteninhalte waren, konnten sie den Identifikator nach Belieben lesen, w\u00e4hrend der Benutzer mit verschiedenen Webressourcen interagierte.<\/p>\n<p>Heutzutage enthalten die meisten Browser Schutzma\u00dfnahmen gegen solches Verhalten von Trackern. Infolgedessen verwenden Tracker jetzt die Technologie <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/nextdns\/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a\">CNAME Cloaking<\/a><\/noindex>, indem sie sich als eigene Skripte verschiedener Projekte tarnen. Konkret bieten Tracker den Websitebesitzern an, CNAME f\u00fcr eine bestimmte Domain in ihre Einstellungen hinzuzuf\u00fcgen, deren Adresse normalerweise wie eine zuf\u00e4llige Zeichenfolge aussieht.<\/p>\n<p>Obwohl es nicht empfohlen wird, die Cookies der Website f\u00fcr alle Subdomains zug\u00e4nglich zu machen (z. B. *.website.com), geschieht dies auf vielen Websites. In diesem Fall werden solche Cookies automatisch an den tarngesuchten Drittanbieter-Tracker gesendet. Als Ergebnis kann man von Privatsph\u00e4re nicht mehr sprechen.<\/p>\n<p>Dar\u00fcber hinaus geschieht dasselbe mit den HTTP-Headern <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/web\/updates\/2015\/09\/automating-resource-selection-with-client-hints\">Client-Hints<\/a><\/noindex>, die nur an die Hauptdomain gesendet werden, da sie zur Erstellung verwendet werden k\u00f6nnen. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/httpwg\/http-extensions\/issues\/767\">digitaler Fingerabdruck<\/a><\/noindex> des Benutzers. Stellen Sie sicher, dass der von Ihnen verwendete CDN-Dienst solche Header korrekt filtert.<\/p>\n<h2>Ergebnisse<\/h2>\n<p>\nWenn Sie in naher Zukunft die Selbsthosting-Option f\u00fcr externe Ressourcen einf\u00fchren m\u00f6chten, erlauben Sie mir, Ihnen einige Ratschl\u00e4ge zu geben:<\/p>\n<ul>\n<li>Hosten Sie Ihre wichtigsten JS-Bibliotheken, Schriftarten und CSS-Dateien selbst. Dies verringert das Risiko eines Ausfalls der Website oder einer Verschlechterung der Leistung, falls eine f\u00fcr die Funktion Ihrer Website essentielle Ressource aufgrund eines externen Dienstes nicht verf\u00fcgbar ist.<\/li>\n<li>Bevor Sie externe Ressourcen auf dem CDN zwischenspeichern, stellen Sie sicher, dass eine Art von Versionierungssystem f\u00fcr die Benennung ihrer Dateien verwendet wird, oder dass Sie den Lebenszyklus dieser Ressourcen verwalten k\u00f6nnen, indem Sie den CDN-Cache manuell oder automatisch beim Ver\u00f6ffentlichen einer neuen Version des Skripts leeren.<\/li>\n<li>Seien Sie sehr vorsichtig mit den Einstellungen des CDN, des Proxy-Servers und des Caches. Dies wird Ihnen helfen, das Senden von Cookies Ihres Projekts oder Headern <code>Client-Hints<\/code> an externe Dienste zu vermeiden.<\/li>\n<\/ul>\n<p>\n<b>Liebe Leser!<\/b> Ver\u00f6ffentlichen Sie auf Ihren Servern Materialien von Dritten, die f\u00fcr die Funktion Ihrer Projekte von entscheidender Bedeutung sind?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\"><img decoding=\"async\" alt=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" 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=\"Selbstst\u00e4ndiges Hosting von Drittressourcen: gut, schlecht, b\u00f6se\" src=\"\/wp-content\/uploads\/2019\/12\/7117788d4bd0ef7de47d98a372b72ae7.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Selbsthosting externer Ressourcen: gut, schlecht, b\u00f6se | ProHoster","description":"In den letzten Jahren bieten immer mehr Plattformen zur Optimierung von Frontend-Projekten die M\u00f6glichkeit, externe Ressourcen selbst zu hosten oder zu proxysieren.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/54566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=54566"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/54566\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=54566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=54566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=54566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}