# CDN: alapok, találat és mulasztás, API-címek

> Mi a CDN, kell-e az oldaladnak, mit jelent a HIT és a MISS, és hogyan épülnek fel a CDN API-címei.

## Mi az a CDN?

A CDN (Content Delivery Network, tartalomkézbesítő hálózat) egymással együttműködő szerverek hálózata. Amikor valaki megnyit egy oldalt, a CDN a hozzá földrajzilag legközelebbi szerverről küldi a tartalmat. Rövidebb az út, ezért gyorsabb a betöltés.

A CDN két gyakori problémát old meg:

- **Késleltetés:** az az idő, amíg az adat a szerverről a látogató eszközére ér.
- **Forgalmi csúcsok:** ha egyszerre sokan nyitják meg az oldalt, az eredeti szerver túlterhelődhet, lelassulhat vagy leállhat. A tartalom szétosztása miatt a csúcsok kevésbé érintik a teljesítményt.

A CDN a biztonságot is javíthatja, például a DDoS-támadások és más fenyegetések ellen.

## Kell-e az oldaladnak CDN?

A CDN a statikus tartalmat (képek, CSS, JavaScript) több helyről szolgálja ki, ezért főleg ott hasznos, ahol:

- sok a forgalom, és több régióból érkeznek a látogatók,
- sok a statikus tartalom,
- gyors, zökkenésmentes élmény a cél.

Ha az oldalad forgalma kicsi, vagy a látogatók többsége egy helyről jön, a CDN nem kötelező. Érdemes felmérni az oldal igényeit, de a legtöbb esetben a CDN extra előnyt ad.

## HIT és MISS

Amikor a látogató kér egy oldalt, a CDN megnézi a saját gyorsítótárát.

- **HIT (találat):** a CDN-nek megvan a tartalom, és közvetlenül a gyorsítótárból szolgálja ki. Ez a gyorsabb eset.
- **MISS (mulasztás):** a CDN-nek nincs meg a tartalom. Lekéri az eredeti szerverről, és eltárolja a következő kérésekhez. Ez lassabb.

Sebességmérésnél ügyelj arra, hogy a tartalom a CDN gyorsítótárából jöjjön. Előfordulhat, hogy több oldalbetöltés kell az első találathoz, mert a CDN a kérések gyakorisága és frissessége alapján tárol. Ha a tartalom bekerült a gyorsítótárba, a további kérések gyorsabbak.

Egy példamérésben MISS esetén a betöltés 453 ezredmásodperc volt, HIT esetén 3 ezredmásodperc, vagyis kb. 151-szer (99,3%-kal) gyorsabb.

## A CDN API-címeinek felépítése

A CDN-en keresztüli képek és fájlok címe egy jól felépített URL. A cím eleje a zónád: vagy `webhelyed123abc.zapwp.com`, vagy egy saját CNAME-mel beállított cím, például `cdn.webhelyed.hu`.

### Képek

| Paraméter | Jelentése |
| --- | --- |
| `q` | Minőség: `l` veszteségmentes, `i` intelligens, `u` ultra tömörítés. |
| `r` | Retina: 1 bekapcsolva (a pixelsűrűség kétszerese), 0 kikapcsolva. |
| `wp` | WebP-átalakítás: 1 bekapcsolva, 0 kikapcsolva. |
| `w` | Szélesség pixelben, erre méretezi át a képet. |
| `u` | Az eredeti kép URL-je, amelyet optimalizálni és adaptálni kell. |

```text
https://webhelyed123abc.zapwp.com/q:i/r:1/wp:1/w:250/u:https://webhelyed.hu/logo.png
https://cdn.webhelyed.hu/q:i/r:1/wp:1/w:250/u:https://webhelyed.hu/logo.png
```

A fenti példák a webhely logóját intelligens minőséggel, retinával, WebP-átalakítással és 250 képpontos kezdeti szélességgel optimalizálják (retinánál ez megduplázódik).

A bővítmény vagy az univerzális változat használatakor ezeket az értékeket a rendszer a látogatóhoz igazítva magától állítja. Ha csak az URL-alapú (API) változatot használod a zónáddal, szabadon módosíthatod őket.

### CSS, JavaScript és más fájlok

A nem kép jellegű fájlokhoz hasonló szerkezet tartozik:

```text
https://cdn.webhelyed.hu/m:0/a:https://webhelyed.hu/wp-content/plugins/elementor/assets/css/frontend.min.css
```

| Paraméter | Jelentése |
| --- | --- |
| `m` | Minifikálás: 1 bekapcsolva, 0 kikapcsolva. |
| `a` | Az eredeti fájl URL-je, amelyet optimalizálni és a CDN-ről kiszolgálni kell. |
