Mi az a CDN? A tartalomkézbesítő hálózatok egyszerűen elmagyarázva
A CDN (tartalomkézbesítő hálózat) olyan szerverekből álló hálózat, amely sok város területén tartja a webhelyed fájljainak másolatait — képeket, szkripteket, stíluslapokat, néha egész oldalakat. Amikor valaki meglátogatja az oldalt, a közelében lévő helyről kapja, nem egy távoli szerverről. Ettől az oldalak gyorsabban töltődnek, kevesebb terhet kap a saját szervered, és az oldal jobban elbír a forgalmi csúcsokat is.
Miért fontosak a CDN-ek, ha MI-val építesz
Lehet, hogy soha nem állítasz be CDN-t magad — sok tárhelyplatform automatikusan tesz egyet a webhelyed elé. Viszont érezni fogod a hatását:
- Sebesség. A gyorsabban betöltődő oldalak megtartják a látogatókat, és a keresőmotorok is figyelembe veszik őket. Lásd hogyan tedd gyorsabbá a webhelyedet.
- „Miért nem látszik a változtatásom?” Egy frissítés közzététele után a régi verzió egy másolata rövid ideig még élhet. Ha tudod, miért, sok felesleges zavarodottságot megspórolsz.
- Adatvédelem és helyesség. Ha a CDN rossz dolgot gyorsítótáráz — egy oldalt, amelyen valakinek a személyes adatai vannak —, a következő látogató láthatja. Ha tudod, mit szabad és mit nem szabad gyorsítótárazni, a megfelelő kérdéseket teheted fel.
Mindennapi hasonlat
Képzelj el egy pékséget, amely az egész országba egyetlen üzletéből szállítja a kenyerét. Minden vevőnek, bármilyen messze lakik, az egyetlen üzletből érkező szállításra kell várnia — és egy forgalmas napon a sor óriási.
A CDN olyan, mintha ugyanazt a kenyeret helyi sarki boltokban is árulnák szerte az országban. A vevők a közelben, gyorsan megkapják, a főpékségnek pedig csak időnként kell utánpótlást vinnie a sarki boltokba. A bökkenő: ha a pékség megváltoztatja a receptjét, a sarki boltok addig a régit árulják, amíg ki nem cserélik, vagy le nem jár a régi készlet.
Hogyan működik egy CDN
- Az eredet (origin). A webhelyed a főszerveren vagy a tárhelyplatformon él — ezt hívjuk eredetnek.
- Éléspontok. A CDN sok helyen futtat szervereket, ezeket élpontoknak (edge location) vagy jelenlétpontoknak (PoP) hívjuk.
- Útvonalválasztás. Amikor egy látogató kéri az oldalt, a DNS vagy a hálózati útvonalválasztás a közeli élpontra irányítja. Lásd hogyan működnek a domainek és a DNS.
- Gyorsítótár-találat. Ha az élpont már rendelkezik friss másolattal a fájlról, azonnal elküldi.
- Gyorsítótár-tévesztés. Ha nincs ilyen másolat, az élpont lekéri a fájlt az eredetről, elküldi a látogatónak, és megtartja egy másolatot a következő embernek.
- Lejárat. Minden másolat egy meghatározott ideig marad meg, amelyet a szervered által küldött gyorsítótár-fejlécek szabályoznak, vagy amíg kézzel nem törlik.
Kidolgozott példa: egy fotós portfólió képekkel
Egy fotós portfóliójának van főoldala, egy galériája 60 nagy képpel, és egy kapcsolatfelvételi űrlapja. Az eredet Európában van. Egy szingapúri látogató megnyitja a galériát.
- CDN nélkül: minden kép Európából érkezik. Minden kérés a világ másik feléig utazik, így a galéria lassan tölt be.
- CDN-nel: az első, Szingapúr közelében lévő látogató miatt a helyi élpont lekéri és eltárolja a képeket. A régióban utána minden látogató közelről, sokkal gyorsabban kapja meg őket.
Most a fotós lecseréli a főoldal főképét, és újra közzétesz. Az dönti el, hogy a látogatók látják-e az újat:
/index.html → rövid gyorsítótár-idő, gyakran ellenőrzött
/assets/index-3f9a2c.js → hosszú ideig gyorsítótárazott
/assets/hero-8b41d0.jpg → hosszú ideig gyorsítótárazott
A modern build-eszközök, köztük a Vite, hash-elt neveket adnak a fájloknak, például hero-8b41d0.jpg. Amikor egy fájl megváltozik, a neve is megváltozik, így az oldal egy olyan új fájlt kér, amelyet még egyetlen gyorsítótár sem látott. Maga a HTML-oldal csak rövid ideig van gyorsítótárazva, ezért hamar az új fájlokra mutat. Ez a szokásos módja annak, hogy hosszú gyorsítótárazás és friss frissítések egyszerre legyenek meg.
A kapcsolatfelvételi űrlap más: a beküldések minden alkalommal a szerverre mennek, ezeket soha nem szabad gyorsítótárazni.
Mit érdemes gyorsítótárazni, és mit nem
| Általában hosszan gyorsítótárazható | Általában rövid ideig gyorsítótárazható | Közös CDN-ben nem szabad gyorsítótárazni |
|---|---|---|
| Képek, betűtípusok, videók | Egy nyilvános oldal HTML-oldalai | Bejelentkezés utáni oldalak, irányítópultok |
| Hash-elt nevű JavaScript és CSS | Nyilvános API-adatok, amelyek ritkán változnak | Bármi személyes adat |
| Ritkán változó letölthető fájlok | Űrlapbeküldések, fizetések, minden POST kérés |
Fontos kifejezések
| Kifejezés | Jelentés |
|---|---|
| Eredet (origin) | A főszerver vagy a tárhely, ahol a valódi fájlok élnek. |
| Él / PoP | Egy CDN-hely, amely a közeli látogatókat szolgálja ki. |
| Gyorsítótár-találat / -tévesztés | Az élpontnak volt a fájl / le kellett kérnie az eredetről. |
| TTL | Élettartam — meddig marad meg egy gyorsítótárazott másolat. |
| Cache-Control fejléc | Az az utasítás, amelyet a szervered küld arról, hogy valami gyorsítótárazható-e, és meddig. |
| Törlés / érvénytelenítés (purge) | A CDN-nek adott utasítás, hogy azonnal dobja el a gyorsítótárazott másolatokat. |
| Gyorsítótár-törés (cache busting) | A fájl nevének vagy URL-jének megváltoztatása, amikor a fájl változik, hogy a gyorsítótárak az újat kérjék le. |
| Késleltetés (latency) | A távolság és a hálózati ugrások okozta várakozás. |
A gyorsítótárazásról általában — böngészőkben, szervereken és adatbázisokban — lásd mi az a gyorsítótárazás.
Gyakori tévhitek
- „A CDN mindent gyorsabbá tesz.” A fájlok kézbesítését gyorsítja. Egy lassú adatbázis-lekérdezés vagy egy lassú MI-hívás a szerveren továbbra is lassú marad.
- „A CDN helyettesíti a tárhelyet.” A tárhelyed elé kerül. Továbbra is szükséged van egy eredetre.
- „Ha frissítettem az oldalt, mindenki azonnal látja.” A régi másolatok rövid ideig még élhetnek a CDN-ben és a böngészőkben. Ellenőrzéshez tartsd nyomva a frissítést, és használj hash-elt fájlneveket.
- „A gyorsítótárazás mindig biztonságos.” Egy személyre szabott oldal közös gyorsítótárazása valódi adatvédelmi kockázat. A privát válaszokat nem gyorsítótárazhatóként kell megjelölni.
- „A CDN-ek csak a nagy cégeknek valók.” Sok szolgáltató kis webhelyeknek is ad egyet extra beállítás nélkül.
Mit kérj az MI-építődtől
- „Van CDN a webhelyem előtt? Mely fájlokat gyorsítótárazza, és meddig?”
- „Gondoskodj róla, hogy a lefordított JavaScript, CSS és képfájlok hash-elt nevet kapjanak és hosszú gyorsítótár-idejük legyen, a HTML pedig rövidet.”
- „Soha ne gyorsítótárazz bejelentkezés utáni oldalakat vagy személyes adatot tartalmazó API-válaszokat közös gyorsítótárban.”
- „Tömörítsd és méretezd át a képeket, hogy a galéria gyorsan töltődjön.”
- „Közzétettem egy frissítést, de még mindig a régi verziót látom — ez a böngésző gyorsítótára vagy a CDN?”
CDN-ek és a Mythex
A Mythexen közzétett frontend-ek statikus webhelyekként települnek, a dokumentáció pedig megjegyzi, hogy a CDN-gyorsítótárak egy frissítés után rövid ideig lemaradhatnak: ha újra közzététel után is a régi verziót látod, a nyilvános URL-en végezz kényszerített újratöltést. Ehhez nincs semmit beállítani. Ha olyan egyedi domaint kapcsolsz be, amelynek DNS-e a Cloudflare-en van, a dokumentáció azt kéri, hogy a rekordot „Csak DNS” módba állítsd, ne proxyzott módba, hogy a Mythex helyesen tudjon HTTPS-tanúsítványt kiállítani. Lásd a dokumentációban a közzétételt és az egyedi domaineket, valamint a webtárhelyről szóló útmutatónkat.
Kérdések
Egyszerűen, mi az a CDN?
A CDN (tartalomkézbesítő hálózat) olyan szerverekből álló hálózat, amely sok helyen tartja a webhely fájljainak másolatait. A látogatókat a közelükben lévő helyről szolgálja ki, nem a főszerverről, így az oldalak gyorsabban töltődnek, a főszerveredre pedig kevesebb munka jut.
Miért látom még mindig a régi verziót, miután frissítettem az oldalt?
Általában azért, mert a régi fájl egy másolata gyorsítótárban van — a CDN-ben, a böngészőben, vagy mindkettőben. A böngészőben a kényszerített újratöltés segít; a CDN-másolatok maguktól lejárnak, vagy kézzel törölhetők. Az építőeszközök a legtöbb problémát úgy kerülik el, hogy a megváltozott fájloknak új nevet adnak.
Kell CDN egy kis weboldalhoz?
Gyakran van már, anélkül hogy kiválasztottad volna, mert sok tárhelyszolgáltató automatikusan a webhely elé tesz egyet. Ha a tiédnél nincs, és a látogatóid több országban élnek, a hozzáadása általában megéri.
A CDN gyorsítótárazhatja az alkalmazásom adatait és a bejelentkezés utáni oldalakat?
Bármit gyorsítótárazhat, amit szabad, ezért gondosan kell beállítani. A nyilvános fájlok, például képek, szkriptek és stílusok ideálisak. A személyes vagy bejelentkezés utáni tartalmat általában nem szabad közös CDN-ben gyorsítótárazni, különben egy felhasználó láthatná egy másik adatait.