{"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\/da\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","title":{"rendered":"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I de seneste \u00e5r har flere platforme til optimering af frontend-projekter tilbudt muligheder for selvhosting eller proxy til tredjepartsressourcer. Akamai giver mulighed for at angive <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\">specifikke parametre<\/a><\/noindex> til selvoprettede URL'er. Cloudflare har teknologien Edge Workers. Fasterzine kan <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fasterize.com\/en\/blog\/https-the-impact-on-your-loading-times\/\">omskrive<\/a><\/noindex> URL'er p\u00e5 siderne, s\u00e5 de peger p\u00e5 tredjepartsressourcer, der findes p\u00e5 hoveddom\u00e6net for hjemmesiden.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/481574\/\"><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/61f87db89ba8c5f4bf030a4004df56f3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Hvis det er kendt, at de tredjepartstjenester, der bruges i dit projekt, ikke \u00e6ndrer sig for ofte, og at processen for deres levering til kunderne kan forbedres, er du helt sikkert begyndt at overveje proxying af s\u00e5danne tjenester. Med denne tilgang kan du i h\u00f8j grad \"n\u00e6rme\" disse ressourcer til brugerne og f\u00e5 bedre kontrol over deres caching p\u00e5 klientsiden. Dette beskytter ogs\u00e5 brugerne mod problemer for\u00e5rsaget af \"nedbrud\" af tredjepartstjenesten eller forringelse af dens ydeevne.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Godt: forbedring af ydeevne<\/h2>\n<p>\nSelvhosting af andres ressourcer forbedrer ydeevnen p\u00e5 en ret \u00e5benlys m\u00e5de. Browseren beh\u00f8ver ikke at kontakte DNS igen, den skal ikke etablere en TCP-forbindelse og udf\u00f8re en TLS-h\u00e5ndtryk p\u00e5 en tredjepartsdom\u00e6ne. Den m\u00e5de, hvorp\u00e5 selvhosting af andres ressourcer p\u00e5virker ydeevnen, kan ses ved at sammenligne de to f\u00f8lgende billeder.<\/p>\n<p><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/ee0a0ccb712a873d10b8de0dbc7ef84a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tredjepartsressourcer indl\u00e6ses fra eksterne kilder (taget <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">from here<\/a><\/noindex>)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/e9ee0b858dbb1aa7c6476d8bf954fc62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tredjepartsressourcer gemmes der, hvor de \u00f8vrige materialer p\u00e5 hjemmesiden ogs\u00e5 findes (taget <noindex><a rel=\"nofollow\" href=\"https:\/\/csswizardry.com\/2019\/05\/self-host-your-static-assets\/\">from here<\/a><\/noindex>)<\/i><\/p>\n<p>Situationen forbedres yderligere af, at browseren vil udnytte mulighederne for multiplexing og prioritering af data i HTTP\/2-forbindelsen, der allerede er etableret med hoveddom\u00e6net.<\/p>\n<p>Hvis man ikke hoster tredjepartsressourcer, s\u00e5 da de vil blive indl\u00e6st fra et dom\u00e6ne, der er forskelligt fra hoveddom\u00e6net, kan de ikke prioriteres. Dette vil f\u00f8re til, at de konkurrerer med hinanden om b\u00e5ndbredden for klienten. Dette kan resultere i, at indl\u00e6sningstiden for materialer, der er kritiske for at danne siden, bliver meget l\u00e6ngere end den tid, der kan opn\u00e5s under ideelle omst\u00e6ndigheder. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nOW-i6bbRdo\">Her er<\/a><\/noindex> en pr\u00e6sentation om HTTP\/2-prioritering, hvor alt dette meget godt forklares.<\/p>\n<p>Det kan antages, at brugen af attributterne i links til eksterne ressourcer <code>preconnect<\/code> vil hj\u00e6lpe med at l\u00f8se problemet. Men hvis der er for mange links til forskellige dom\u00e6ner, kan det faktisk overbelaste forbindelsen p\u00e5 det mest kritiske tidspunkt.<\/p>\n<p>Hvis man hoster tredjepartsressourcer selv, kan man kontrollere, hvordan disse ressourcer leveres til klienten. Det handler om f\u00f8lgende:<\/p>\n<ul>\n<li>Man kan sikre, at der anvendes den bedst egnede datakompressionsalgoritme for hver browser (Brotli\/gzip).<\/li>\n<li>Man kan \u00f8ge cachetiden for ressourcer, som normalt, selv hos de mest kendte udbydere, ikke er s\u00e6rlig lang (for eksempel fasts\u00e6ttes den relevante v\u00e6rdi for GA-tag til 30 minutter).<\/li>\n<\/ul>\n<p>\nMan kan endda forl\u00e6nge TTL-v\u00e6rdien for ressourcen, for eksempel til et \u00e5r, ved at inkludere de relevante materialer i sin cache-styringsstrategi (URL-hash, versionering osv.). Det vil vi tale om nedenfor.<\/p>\n<h3>\u258dBeskyttelse mod driftsforstyrrelser ved tredjepartsservices eller deres nedlukning<\/h3>\n<p>\nEt andet interessant aspekt ved at hoste tredjepartsressourcer selv er, at det giver mulighed for at mindske risiciene i forbindelse med driftsforstyrrelser ved tredjepartsservices. Antag, at den tredjepartsl\u00f8sning, du bruger til A\/B-testning, er implementeret som et blokkerende script, der indl\u00e6ses i hovedsektionen af siden. Dette script indl\u00e6ses langsomt. Hvis det relevante script ikke kan indl\u00e6ses, vil siden v\u00e6re tom. Hvis indl\u00e6sningen tager meget lang tid, vil siden dukke op med stor forsinkelse. Eller antag, at der bruges et bibliotek, der indl\u00e6ses fra en ekstern CDN-ressource. Forestil dig, at denne ressource oplever nedbrud eller er blevet blokeret i et land. En s\u00e5dan situation vil forstyrre webstedets funktionalitet.<\/p>\n<p>For at finde ud af, hvordan dit websted fungerer under betingelser med utilg\u00e6ngelighed af en ekstern service, kan du bruge SPOF-sektionen p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.webpagetest.org\/\">webpagetest.org<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/0ffa0b44054ccd16bab33c6b7beff049.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>SPOF-sektionen p\u00e5 webpagetest.org<\/i><\/p>\n<h3>\u258dHvordan st\u00e5r det til med problemer med cache af materiale i browsere? (tips: det er en myte)<\/h3>\n<p>\nMan kan tro, at brugen af offentlige CDN automatisk vil f\u00f8re til bedre ydeevne af ressourcerne, da disse tjenester har ret gode netv\u00e6rk og er fordelt over hele verden. Men i virkeligheden er alt lidt mere komplekst.<\/p>\n<p>Lad os antage, at vi har flere forskellige websteder: website1.com, website2.com, website3.com. P\u00e5 alle disse websteder bruges jQuery-biblioteket. Vi tilslutter det ved hj\u00e6lp af CDN, for eksempel \u2014 googleapis.com. Man kunne forvente, at browseren \u00e9n gang vil indl\u00e6se og cache biblioteket og derefter bruge det, n\u00e5r den arbejder med de tre websteder. Dette kunne reducere belastningen p\u00e5 nettet. M\u00e5ske ville det spare nogle ressourcer op og hj\u00e6lpe med at forbedre ydeevnen. Men set fra et praktisk synspunkt ser alt anderledes ud. For eksempel, i Safari er der implementeret en funktion kaldet <noindex><a rel=\"nofollow\" href=\"https:\/\/webkit.org\/blog\/7675\/intelligent-tracking-prevention\/\">Intelligent Tracking Prevention<\/a><\/noindex>: i cachen bruges dobbelte n\u00f8gler, baseret p\u00e5 dokumentets kilde og p\u00e5 kilden til den tredjepartsressource. <noindex><a rel=\"nofollow\" href=\"https:\/\/andydavies.me\/blog\/2018\/09\/06\/safari-caching-and-3rd-party-resources\/\">Her er<\/a><\/noindex> en god artikel om emnet.<\/p>\n<p>Gamle unders\u00f8gelser <noindex><a rel=\"nofollow\" href=\"https:\/\/yuiblog.com\/blog\/2007\/01\/04\/performance-research-part-2\/\">Yahoo<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/code.facebook.com\/posts\/964122680272229\/web-performance-cache-efficiency-exercise\/\">Facebook<\/a><\/noindex>, samt nyere <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.httparchive.org\/t\/analyzing-resource-age-by-content-type\/1659\">forskning<\/a><\/noindex> Paul Calvano, viser, at ressourcer ikke opbevares i browsercache s\u00e5 l\u00e6nge, som vi kunne forvente: \u00abDer er en betydelig forskel mellem cachingtiden for egne og tredjepartsressourcer i et projekt. Det drejer sig om CSS og web-fonts. Specifikt, cacheperioden for 95% af egne skrifttyper overstiger en uge, mens cacheperioden for 50% af tredjeparts skrifttyper er mindre end en uge! Dette giver webudviklere god grund til selv at hoste skrifttypefiler!\u00bb.<\/p>\n<p>Som et resultat, hvis du hoster andres indhold, vil du ikke bem\u00e6rke problemer med ydeevnen for\u00e5rsaget af browsercaching.<\/p>\n<p>Nu, hvor vi har set p\u00e5 styrkerne ved selv hosting af tredjepartsressourcer, lad os tale om, hvordan man kan skelne mellem en god implementering af denne tilgang og en d\u00e5rlig.<\/p>\n<h2>D\u00e5rlig: dj\u00e6vlen ligger i detaljerne<\/h2>\n<p>\nAt flytte tredjepartsressourcer til sit eget dom\u00e6ne kan ikke g\u00f8res automatisk uden at sikre korrekt caching af disse ressourcer.<\/p>\n<p>Et af de vigtigste problemer her er cachingtiden. For eksempel inkluderer versionsoplysninger i navne p\u00e5 tredjeparts scripts cirka s\u00e5dan her: <code>jquery-3.4.1.js<\/code>. Denne fil vil ikke \u00e6ndre sig i fremtiden, hvilket ikke vil for\u00e5rsage nogen problemer med dens caching.<\/p>\n<p>Men hvis en form for versionering ikke anvendes, kan cachede scripts, hvis indhold \u00e6ndres, mens filnavnet forbliver det samme, blive for\u00e6ldede. Dette kan blive et alvorligt problem, da det for eksempel ikke g\u00f8r det muligt automatisk at implementere sikkerhedsopdateringer i scripts, som kunderne hurtigt skal have. Udvikleren vil skulle g\u00f8re en indsats for at opdatere s\u00e5danne scripts i cachen. Derudover kan det f\u00f8re til fejl i applikationen, da koden, der anvendes p\u00e5 klienten fra cachen, adskiller sig fra den opdaterede version af koden, som serverdelen af projektet er baseret p\u00e5.<\/p>\n<p>Sandt nok, n\u00e5r det kommer til materialer, der opdateres ofte (tags management, A\/B-test l\u00f8sninger), er caching i CDN en opgave, der er l\u00f8sbar, men ogs\u00e5 meget mere kompleks. Tjenester som Commanders Act, tags management l\u00f8sninger, bruger webhooks ved publicering af nye versioner. Dette giver mulighed for at organisere cache opdateringer p\u00e5 CDN, eller endnu bedre, at udl\u00f8se opdateringen af hash eller version URL.<\/p>\n<h3>\u258dAdaptiv levering af materialer til kunder<\/h3>\n<p>\nDerudover, n\u00e5r vi taler om caching, skal vi ogs\u00e5 tage h\u00f8jde for, at cacheindstillingerne, der anvendes p\u00e5 CDN, m\u00e5ske ikke passer til visse tredjeparts ressourcer. For eksempel kan s\u00e5danne ressourcer bruge teknologi til sniffing af brugeragent (user agent sniffing, adaptive serving) for at levere specifikke versioner af materialer, der er optimeret specielt til disse browsere. Disse teknologier, for at finde ud af browserens kapabiliteter, er afh\u00e6ngige af regul\u00e6re udtryk eller en database, der indeholder oplysninger om HTTP-overskriften. <code>User-Agent<\/code>. N\u00e5r de er klar over, hvilken browser de har at g\u00f8re med, leverer de materialer, der er tilpasset den.<\/p>\n<p>Her kan vi huske to tjenester. Den f\u00f8rste er googlefonts.com. Den anden er polyfill.io. Tjenesten Google Fonts leverer, til et givent ressourcer, forskellig CSS-kode, der afh\u00e6nger af browserens kapabiliteter (giver links til woff2-ressourcer, bruger <code>unicode-range<\/code>).<\/p>\n<p>Her er resultaterne af et par foresp\u00f8rgsler til Google Fonts, udf\u00f8rt fra forskellige browsere.<\/p>\n<p><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/5078ce754cc324e42261a1749e96a445.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultatet af anmodningen til Google Fonts udf\u00f8rt fra Chrome<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/103de3c523a05fdfa230ada49842f124.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Resultatet af anmodningen til Google Fonts udf\u00f8rt fra IE10<\/i><\/p>\n<p>Polyfill.io leverer kun de polyfills, som browseren har brug for. Dette g\u00f8res for at forbedre ydeevnen.<\/p>\n<p>Lad os se p\u00e5, hvad der sker, hvis vi foretager den f\u00f8lgende anmodning fra forskellige browsere: <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>I svar p\u00e5 en s\u00e5dan anmodning udf\u00f8rt fra IE10 vil der komme 34 KB data. Mens svaret, udf\u00f8rt fra Chrome, vil v\u00e6re tomt.<\/p>\n<h2>Ont: nogle overvejelser omkring privatliv<\/h2>\n<p>\nDette punkt er det sidste i r\u00e6kkef\u00f8lgen, men ikke i vigtighed. Det handler om, at selvhosting af tredjeparts ressourcer p\u00e5 hoveddom\u00e6net for projektet eller dets underdom\u00e6ne kan true brugernes privatliv og have negative konsekvenser for det prim\u00e6re webprojekt.<\/p>\n<p>Hvis dit CDN-system ikke er korrekt konfigureret, kan alt ende med, at du sender cookies fra dit dom\u00e6ne til en tredjepartstjeneste. Hvis der ikke er implementeret korrekt filtrering p\u00e5 CDN-niveau, kan dine session cookies, som normalt ikke kan bruges i JavaScript (med attributten <code>httponly<\/code>), blive sendt til en ekstern v\u00e6rt.<\/p>\n<p>Netop dette kan ske med trackere som Eulerian eller Criteo. Tredjeparts trackere kunne indstille en unik identifikator i cookies. De kunne, hvis de var en del af materialet p\u00e5 webstederne, l\u00e6se identifikatoren efter eget valg, mens brugeren interagerede med forskellige webressourcer.<\/p>\n<p>I dag inkluderer de fleste browsere beskyttelse mod denne type trackeradf\u00e6rd. Som et resultat bruger trackere nu teknologien <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/nextdns\/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a\">CNAME Cloaking<\/a><\/noindex>, hvor de camouflerer sig som egne scripts fra forskellige projekter. Det vil sige, at trackere tilbyder webstedsejere at tilf\u00f8je CNAME til deres indstillinger for et dom\u00e6ne, der normalt ser ud som en tilf\u00e6ldig samling af tegn.<\/p>\n<p>Selvom det ikke anbefales at g\u00f8re cookies fra webstedet tilg\u00e6ngelige for alle underdom\u00e6ner (for eksempel - *.website.com), g\u00f8res det p\u00e5 mange websteder. I s\u00e5 fald sendes s\u00e5danne cookies automatisk til en camoufleret tredjeparts tracker. Som resultat er der ikke l\u00e6ngere tale om nogen form for privatliv.<\/p>\n<p>Derudover sker der det samme med HTTP-overskrifterne <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/web\/updates\/2015\/09\/automating-resource-selection-with-client-hints\">Client-Hints<\/a><\/noindex>, som kun sendes til hoveddom\u00e6net, da de kan bruges til at oprette <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/httpwg\/http-extensions\/issues\/767\">digitalt fingeraftryk<\/a><\/noindex> brugeren. V\u00e6r opm\u00e6rksom p\u00e5, at den CDN-tjeneste, du bruger, korrekt filtrerer s\u00e5danne overskrifter.<\/p>\n<h2>Resum\u00e9<\/h2>\n<p>\nHvis du planl\u00e6gger snart at implementere selvhostede tredjepartsressourcer, lad mig give dig et par r\u00e5d:<\/p>\n<ul>\n<li>Host dine vigtigste JS-biblioteker, skrifttyper og CSS-filer. Dette reducerer risikoen for, at dit website g\u00e5r ned eller mister ydeevne, hvis en ressource, der er afg\u00f8rende for websitets drift, bliver utilg\u00e6ngelig p\u00e5 grund af en tredjepartsservice.<\/li>\n<li>F\u00f8r du cacher tredjepartsressourcer p\u00e5 CDN, skal du sikre, at der anvendes et versionssystem i filnavnene, eller at du kan styre livscyklussen for disse ressourcer ved manuelt eller automatisk at t\u00f8mme CDN-cachen, n\u00e5r en ny version af scriptet offentligg\u00f8res.<\/li>\n<li>V\u00e6r meget opm\u00e6rksom p\u00e5 indstillingerne for CDN, proxyservere og cache. Dette vil hj\u00e6lpe dig med at undg\u00e5 at sende cookies fra dit projekt eller headers <code>Client-Hints<\/code> til tredjepartsservices.<\/li>\n<\/ul>\n<p>\n<b>K\u00e6re l\u00e6sere!<\/b> Hoster du p\u00e5 dine servere tredjepartsindhold, som er ekstremt vigtigt for driften af dine projekter?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\"><img decoding=\"async\" alt=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" 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=\"Selvst\u00e6ndig hosting af tredjeparts ressourcer: god, d\u00e5rlig, ond\" src=\"\/wp-content\/uploads\/2019\/12\/7117788d4bd0ef7de47d98a372b72ae7.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Selvhosting af tredjepartsressourcer: god, d\u00e5rlig, grim | ProHoster","description":"I de senere \u00e5r har flere platforme til optimering af frontend-projekter tilbudt muligheder for selvhosting eller proxy af tredjepartsressourcer.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/samostoyatelnyj-hosting-storonnih-resursov-horoshij-plohoj-zloj","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/54566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=54566"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/54566\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=54566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=54566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=54566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}