Staatilised vs. dünaamilised veebilehed
15.04.2007 | GunnarKumb on parem – kas staatiline või dünaamiline leht? Iidne flamewar, millesse ma hea meelega ei laskuks. Et teiegi ei peaks asjatus mudamaadluses oma käsi määrima, räägin ära, millal kumba kasutada.
Staatilised (käsitsi koostatud HTML-)leheküljed olid odav võimalus ajal, mil internet oli noor, vahendid piiratud ning programmeerimistööd seega mahukamad ja kallimad. Kuigi praeguseks on dünaamilised (sisuhaldussüsteemil põhinevad) veebilehed turu vallutanud, pole dünaamiline leht siiski alati parim lahendus.
Staatiline leht võib olla hea müügikanal
Veebilehtedel, mille info muutub haruharva, pole vaja haldamiseks eraldi süsteemi. Heaks näiteks sorin mälusoppidest välja ühe hot.ee-s majutatud lehe, mille aadressi ma enam ei mäleta. Igal juhul on tegemist seppade lehega.
Valdav osa infot püsib seal konstantselt sama – firma andmed, asukoht ning pakutavad teenused. Aja jooksul muutuvad hinnad, parimate sepiste leheküljele lisandub pilte. Muutusi, ma pakun, teevad sepad oma lehel maksimaalselt kaks korda aastas.
Selle lehe jaoks on hot.ee võimalused piisavad. Lehekülgedel on ilusad meeldejäävad aadressid ja staatiliste lehekülgede puhul on võimalikud ka kõik muud olulised otsimootoriturunduse (SEO) nõksud.
Dünaamilised lehed
Dünaamilised lahendused on vajalikud siis, kui veebilehe sisu muutub tihti ning staatiliste lehekülgede muutmine vajalikus tempos põhjustaks tohutul hulgal käsitööd. Näiteks tuleb uue lehekülje lisandudes lisada kõigi olemasolevate lehekülgede navigatsioonimenüü(de)sse vastav uus valik.
DT leht on näiteks dünaamiline. Meil on selle järgi reaalne vajadus, sest pidevalt lisame uusi tekste, kohendame olemasolevaid ning täiendame galeriid. Aeg-ajalt lisame lehele uusi komponente, mis muudavad selle meie jaoks kergemini hallatavamaks või toovad külastajatelele uusi võimalusi.
Selge on see, et dünaamilised lehed on omal kohal siis, kui lehe sisu on pidevas muutumises. Nagu näiteks portaalid, foorumid, blogid ja lehed, kuhu külastajad saavad jätta kommentaare.
Sümbioos staatilisest ja dünaamilisest lehest
Kohati meenutab staatiline leht oma olemuselt gravitatsiooni. Suurte kauguste peal on gravitatsioon domineeriv, kuid muutub tühiseks seal, kus teised vastastikmõjud domineerima hakkavad. Jäädes küll teiste varju, võtab äärmuslikel tingimustel gravitatsioon oma koha vastastikmõjude troonil tagasi.
Umbes samamoodi on staatiliste lehtedega. Lihtsamatel juhtudel võime me teha oma veebilehed staatilised ja sellest pole mingit probleemi. Nende haldamine ei valmista peavalusid. Kuid sisu mahtude kasvades on otstarbekam kasutada mootorit, mis genereerib veebi sisulehekülgi dünaamiliselt.
Kui meie dünaamiline leht on nii populaarne, et tingimused muutuvad äärmuslikeks – näiteks kümme või enam pöördumist sekundis –, siis võtab staatiline vorm ohjad enda kätte juba uues kontekstis.
Kuigi me haldame lehekülge dünaamiliste vahendite abil, koostatakse selle põhjal lehekülje staatiline versioon ja külastajatele tehakse kättesaadavaks just see. Miks nii?
Staatiliste lehekülgede serveerimine nõuab serverilt oluliselt vähem ressursse. Näiteks ei pea staatilise lehekülje serveerimisel käivitama skriptimootorit, mis teeb terve hulga pöördumisi andmebaasi poole, et saada kätte kõikide antud lehekülje elementide andmed ja sisu.
Ja loogiline on see lähenemine igati – kui ööpäeva jooksul saab antud lehekülg näiteks sadu tuhandeid või miljoneid pöördumisi ja muudatusi sisus esineb näiteks kommentaaride või viidete näol ainult kümme või sada, siis enamiku ajast on lehekülg muutumatu ning selle uuesti koostamine alates nullist ei oma mingit mõtet.
Kokkuvõtteks
Kokkuvõtteks ütlen, et tegemist pole just võrreldavate lähenemistega. Sõltuvalt vajadustest ja tehnilistest tingimustest tuleb välja valida neist üks või mõlemad. Ja nagu ikka, on valiku tegemisel põhilisteks kriteeriumiteks aeg ja raha.

15.04.2007 kell 15:06
miks mitte pritsida dünaamilisest rakendusest välja sisu staatilisele kujule või nö cacheda staatiliseks põhimõttel “Genereerin, kui külastatakse, kustutan, kui uuendatakse”. Olekski see suur dilemma teil lahendatud
15.04.2007 kell 15:49
See see lahendus ongi tegelikult. Pisematel lehtedel pole dünaamikat vaja. Rohkem muutuvatel lehtedel pole staatikat vaja. Ja äärmuslikes tingimustes paneme need kaks asja koos toimima.
WordPressil saime me tänu cache-i pluginale kannete esitamise aja 1000 korda pisemaks. Selles mõttes on meilgi omamoodi segu staatikast ja dünaamikast. Aga see pole nii efektiivne kui dünaamilise põhjal valmis genereeritud staatiline leht.
15.04.2007 kell 21:12
_Rohkem muutuvatel lehtedel pole staatikat vaja._
Suureneva külastatavuse kasvu juures on igal staatiliseks genereeritud lehe osal üha suurem roll. Mida rohkem teie kasutuses olev tehnoloogiline baas serveerib staatilist sisu (isegi, kui see sisu on staatiline pelgalt minuti jooksul) on olemas võit erinevatelt kuludelt mis selle serveerimisega seotud kuna staatilise sisu serveerimiseks on vaja tunduvalt vähem ressursse.
Tagasihoidliku lehekülastatavuse korral kus genereeritakse sekundis umbes 200 pageviewd dünaamiliselt koostatud lehtedele võib mitmekordne cache (n: memcache -> outputcache on demand) lükata kuudeks edasi serveripargi laienemisvajaduse ja ka tööjõukulude tõusu jne
15.04.2007 kell 22:14
Kogu kauni staatika võib alati ära rikkuda mõni müügigeenius, kelle elulõng katkeb, kui kümnest allikast koguaeg uut infi kohale ei pumbata.
