Guides

Hvad er et CDN? Content Delivery Networks forklaret enkelt

Et CDN (content delivery network) er et netværk af servere spredt over mange byer, som gemmer kopier af din hjemmesides filer: billeder, scripts, stylesheets og nogle gange hele sider. Når nogen besøger dit site, får de det fra et sted tæt på dem i stedet for fra én fjern server. Det gør sider hurtigere, aflaster din egen server og hjælper siden med at klare trafikspidser.

Hvorfor CDN'er betyder noget, når du bygger med AI

Du kommer måske aldrig til selv at sætte et CDN op. Mange hostingplatforme sætter et automatisk foran dit site. Men du vil mærke virkningen:

  • Hastighed. Hurtigere indlæste sider holder besøgende på siden og er et af de forhold, søgemaskiner tager med i betragtning. Se hvordan du gør dit website hurtigere.
  • "Hvorfor vises min ændring ikke?" Efter du har publiceret en opdatering, kan en cachet kopi af den gamle version hænge ved i et stykke tid. At vide hvorfor, sparer meget forvirring.
  • Privatliv og korrekthed. Hvis et CDN cacher det forkerte, fx en side med en brugers oplysninger, kan den næste besøgende se dem. Når du ved, hvad der må og ikke må caches, kan du stille de rigtige spørgsmål.

En hverdagsanalogi

Forestil dig et bageri, der sælger sit brød over hele landet fra én butik. Hver kunde, uanset hvor langt væk de bor, må vente på levering fra den ene butik, og på en travl dag er køen enorm.

Et CDN er som at have det samme brød stående i lokale købmandsbutikker rundt om i landet. Kunderne henter det tæt på, hurtigt, og hovedbageriet skal kun fylde butikkerne op nu og da. Haken: Når bageriet ændrer opskriften, sælger købmandsbutikkerne de gamle brød, indtil de får besked om at skifte dem ud, eller det gamle lager udløber.

Sådan virker et CDN

  1. Din origin. Dit site ligger på din hovedserver eller hostingplatform, kaldet origin.
  2. Edge-lokationer. CDN'et kører servere mange steder, kaldet edge-lokationer eller points of presence.
  3. Routing. Når en besøgende anmoder om dit site, sender DNS eller netværksroutingen dem til en nærliggende edge. Se hvordan domæner og DNS virker.
  4. Cache hit. Hvis den edge allerede har en frisk kopi af filen, sender den den med det samme.
  5. Cache miss. Hvis ikke, henter edge'en filen fra din origin, sender den til den besøgende og gemmer en kopi til den næste person.
  6. Udløb. Hver kopi gemmes i en fastsat tid, styret af cache-headers, som din server sender, eller indtil den renses.

Et konkret eksempel: en portfolio med fotos

En fotografs portfolio har en forside, et galleri med 60 store billeder og en kontaktformular. Originen står i Europa. En besøgende i Singapore åbner galleriet.

  • Uden CDN: Hvert billede rejser fra Europa. Hver anmodning tager en tur rundt i verden, så galleriet fyldes langsomt.
  • Med CDN: Den første besøgende nær Singapore får edge'en dér til at hente og gemme billederne. Alle senere besøgende i regionen får dem fra nærheden, meget hurtigere.

Nu erstatter fotografen forsidens hovedbillede og publicerer igen. Her er, hvad der afgør, om besøgende ser det:

/index.html                    → kort cachetid, tjekkes ofte
/assets/index-3f9a2c.js        → cachet i lang tid
/assets/hero-8b41d0.jpg        → cachet i lang tid

Moderne byggeværktøjer, herunder Vite, giver filer hashede navne som hero-8b41d0.jpg. Når en fil ændres, ændres dens navn, så siden beder om en helt ny fil, som ingen cache har set før. HTML-siden selv caches kun kort, så den hurtigt peger besøgende hen til de nye filer. Det er den almindelige måde at få både lang caching og friske opdateringer.

Kontaktformularen er anderledes. Dens indsendelser går til serveren hver gang, og de må aldrig caches.

Hvad der skal caches, og hvad der ikke skal

Normalt cache (længe)Normalt cache kortCache ikke i et delt CDN
Billeder, skrifttyper, videoerHTML-sider på et offentligt siteSider efter login, dashboards
JavaScript og CSS med hashede navneOffentlige API-data, der ændrer sig nu og daAlt med personlige data
Downloadbare filer, der sjældent ændresFormularindsendelser, betalinger, alle POST-anmodninger

Vigtige begreber

BegrebBetydning
OriginDin hovedserver eller host, hvor de rigtige filer ligger.
Edge / PoPEn CDN-lokation, der betjener besøgende i nærheden.
Cache hit / missEdge'en havde filen / måtte hente den fra originen.
TTLTime to live: hvor længe en cachet kopi gemmes.
Cache-Control-headerDen instruks din server sender om, hvorvidt og hvor længe noget må caches.
Purge / invalidérAt bede CDN'et om at smide cachede kopier ud nu.
Cache bustingAt ændre en fils navn eller URL, når den ændres, så caches henter den nye.
LatensForsinkelsen, der skyldes afstand og netværkshop.

For caching mere generelt, i browsere, servere og databaser, se hvad caching er.

Almindelige misforståelser

  • "Et CDN gør alt hurtigere." Det gør levering af filer hurtigere. En langsom databaseforespørgsel eller et langsomt AI-kald på din server er stadig langsomt.
  • "Et CDN erstatter hosting." Det sidder foran din hosting. Du har stadig brug for en origin.
  • "Hvis jeg har opdateret siden, ser alle det med det samme." Gamle kopier kan hænge lidt i CDN'et og i browsere. Lav en hård genindlæsning for at tjekke, og brug hashede filnavne.
  • "Caching er altid sikkert." At cache en personaliseret side i en delt cache er en reel privatlivsrisiko. Private svar bør markeres som ikke-cachebare.
  • "CDN'er er kun til store virksomheder." Mange hosts inkluderer et til små sites uden ekstra indsats.

Hvad du kan spørge din AI-builder om

  • "Er der et CDN foran dette site? Hvilke filer cacher det, og hvor længe?"
  • "Sørg for, at bygget JavaScript, CSS og billeder har hashede filnavne og lange cachetider, og at HTML har en kort."
  • "Cache aldrig sider efter login eller API-svar med personlige data i en delt cache."
  • "Komprimer og skaler billeder, så galleriet loader hurtigt."
  • "Jeg har publiceret en opdatering, men ser stadig den gamle version. Er det browser-cachen eller CDN'et?"

CDN'er og Mythex

På Mythex bliver statiske frontends deployet som statiske sites, og dokumentationen nævner, at CDN-caches kan hænge lidt efter en opdatering. Ser du en gammel version efter at have publiceret igen, så lav en hård genindlæsning af den offentlige URL. Der er intet at konfigurere for det. Hvis du forbinder et eget domæne, hvis DNS ligger hos Cloudflare, beder dokumentationen dig om at sætte posten til "DNS only" i stedet for proxied, så Mythex kan udstede HTTPS korrekt. Se sådan publicerer du og egne domæner i dokumentationen, og vores guide til webhosting.

Spørgsmål

Hvad er et CDN med enkle ord?

Et CDN (content delivery network) er et netværk af servere mange steder, som gemmer kopier af din hjemmesides filer. Besøgende får dem fra et sted tæt på dem i stedet for fra din hovedserver, så sider loader hurtigere, og din server har mindre at lave.

Hvorfor ser jeg stadig den gamle version af mit site, efter jeg har opdateret det?

Typisk fordi en kopi af den gamle fil ligger i cache, enten i CDN'et, i din browser eller begge steder. En hård genindlæsning løser browserdelen; CDN-kopier udløber af sig selv eller kan renses. Byggeværktøjer undgår det meste ved at give ændrede filer nye navne.

Har jeg brug for et CDN til et lille website?

Du har ofte et uden at have valgt det, for mange hostingplatforme sætter automatisk et CDN foran sites. Hvis din ikke gør det, og dine besøgende er spredt over flere lande, er det som regel umagen værd at tilføje et.

Kan et CDN cache min apps data og sider, hvor man er logget ind?

Det kan cache alt, det har lov til, og derfor skal det sættes op omhyggeligt. Offentlige filer som billeder, scripts og styles er ideelle. Personligt indhold eller sider efter login bør normalt ikke caches i et delt CDN, for ellers kan én bruger se en andens data.

Mythex · Pricing · Byg hvad som helst med AI · Skabeloner til websites og apps · Mythex sammenlignet · Ordliste for app-bygning med AI · Gratis værktøjer til app-bygning med AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)