Ahoj všetci, pri dnešnom diále mikropodcastu porozprávam niečo o tom, čo znamená generovanie statického obsahu.

Generovanie statického obsahu na webe je technika, pri ktorej sa obsah jednoducho vygeneruje ešte predtým, než sa naň zákazník dostane. Zákazník je v tomto prípade zamieniteľný zážitevník.

Ako to funguje? Štandardne, bez použitia techniky generovania statického obsahu, to funguje tak, že návštevník príde na stránku, zvolí si, čo chce vidieť, server túto požiadavku spracuje, vyskladá odpoveď a pošle ju zákazníkovi. Pri použití techniky generovania statického obsahu sa proces zmení. Obsah sa vygeneruje vopred, náhrá sa na server.

Následne, keď návštevník príde na server, zvolí si, čo chce vidieť. Server už nemusí túto požiadavku vyskladať, lebo je vopred vyskladaná, respektíve vygenerovaná, ale už rovno pošle návštevníkovi ako hotovú vec.

Výhody a porovnanie s kešováním

Výhodou tohto procesu, teda snaď viditeľne, je to, že zákazník alebo návštevník dostane obsah, ktorý si vyžadal, rýchlejšie. Rýchlejšie preto, lebo sa za každým keci Zákazník vyžiada nejaký obsah, preskakuje jeden inak notný krok, ktorým je zostavovanie toho obsahu.

Existuje podobná, chronologicky zrejme skoršia technika, ktorá zabezpečí rovnaký výsledok, a teda to, že zákazník, respektíve návštevník, dostane obsah, ktorý si vyžadal skôr, a to je kešovanie. Kešovanie vo výsledku spôsobuje Presne to isté, ako statické generovanie obsahu, a teda to, že návštevník dostane to, čo si vyžadal rýchlejšie, avšak spôsob, aký im toto docielí je úplne odlišný.

Poďme si prejsť, ako zákazník docielí rýchlejšie získanie obsahu pri použití kešovania. Prvý krok, zákazník návštiví web a vyžiada si nejaký obsah. Nasledne server tento obsah zostaví, uloží ho do cache pamäte a pošle ho zákazníkovi. Možno je teda zjavné, že prvý zákazník alebo návštevník, ktorý si vyžiada obsah, pri použití cacheovania vlastne nič nezískal.

Až následne ďalší návštevník, ktorý si vyžiada presne takýto obsah, ho dostane od servera z cache pamäte. Cacheovanie sa teda od statického generovania obsahu zlíši minimálne v dvoch primárnych aspektoch. A to je, že pri cacheovaní sa z času na čas zistane, že obsah, ktorý si návštevník vyžiadal, nebude taký rýchly, pretože server musí tento obsah vygenerovať, ak ho po svojej vyrenovacej pamäti nemá. Toto sa pri staticky vygenerovanom obsahu nedeje.

A teda znamená to, že každý návštevník bez rozdielu dostane obsah, ktorý si vyžiadal rovnako rýchlo, nakoľko server vôbec nikdy nemusí tento obsah generovať a zostavovať. A tu sa teda dostávame ku druhému, taktiež dôležitému rozdielu medzi staticky vygenerovaným obsahom a cacheovaním.

A tým je, že server vôbec nemusí ani len tušiť o tom, ako obsah zostaviť a vygenerovať, pokiaľ sa jedná o techniku staticky vygenerovaného obsahu. Z čoho vlastne vyplýva, že takýto server môže byť o mnoho, o mnoho jednoduchší, čo vo výsledku častokrát znamená aj vlácnejší v dnešných prípadoch v podstate zadarmo.

Kešovanie staticky generovaného obsahu

Paradoxom je, že aj napriek tomu, že generovanie statického obsahu a cacheovanie sú dve technológie, ktoré slúžia na to, aby návštevník získal obsah rýchlejšie, ako by ho inač získal. Tieto dve technológie ide použiť súbežne. Čo v praxi znamená, že obsah vygenerovaný staticky je možné ďalej cacheovať, avšak nie na úrovni servera a požiadavky, ktorú by mal takto server vygenerovať, respektíve zostaviť. Aj najčastejším hlavným benefitom je skôr cacheovanie v rámci geografickej lokality.

O tomto by som rád porozprával v budúcich epizódach. Toto bol mikropodcast, ja sa volám Peter Babič a počujeme sa na budúce.