annote | = | {S Internetom, sie\v{t}ou siet\'i, dnes prich\'adza do kontaktu pravdepodobne ka\v{z}d\'y. Menej \v{l}ud\'i u\v{z} vie nie\v{c}o podrobnej\v{s}ie, tak z h\v{l}adiska hardware, ako aj software. {\v{Z}}iadan\'y obsahu je obvykle pre u\v{z}\'ivate\v{l}ov distribuovan\'y prostredn\'ictvom bezstavov\'eho protokolu http (Hypertext Transfer Protocol) a s\'upravou protokolov TCP/IP (Transmission Control Protocol / Internet Protocol), ktor\'eho najpou\v{z}\'ivanej\v{s}ia v \v{c}ase p\'isania tejto pr\'ace je verzia 1.1. World Wide Web (WWW alebo jednoducho Web) je slu\v{z}ba, glob\'alny informa\v{c}n\'y priestor, ktor\'y obsahuje dokumenty na v\v{s}etk\'ych internetov\'ych serveroch pou\v{z}\'ivaj\'ucich protokol http. URL (Uniform Resource Locator, prakticky adresa tvoren\'a slovami, \v{c}\'islami a interpunk\v{c}n\'ymi znamienkami) teda nemus\'i obsahova\v{t} „www“, aby bola jeho s\'u\v{c}as\v{t}ou.
{\v{D}}al\v{s}\'im, pre t\'uto pr\'acu d\^ole\v{z}it\'ym prvkom, je skuto\v{c}nos\v{t}, \v{z}e sa pou\v{z}\'iva model klient-server (klient odo\v{s}le po\v{z}iadavku, server ju spracuje a odo\v{s}le nasp\"a\v{t} spracovan\'y obsah). Klient je napr\'iklad webov\'y prehliada\v{c}, ktor\'y obvykle spracov\'ava \'udaje a s\'ubory odosielan\'e serverom, ktor\'e m\^o\v{z}u by\v{t} r\^ozneho typu, samotn\'y prehliada\v{c} obvykle spracov\'ava len s\'ubory:
·HTML (HyperText Markup Language), XHTML (Extensible HyperText Markup Language), XML (Extensible Markup Language), SVG (Scalable Vector Graphics) - statick\'e dokumenty, okrem SVG, ktor\'y m\^o\v{z}e by\v{t} animovan\'y pou\v{z}it\'im JavaScriptu, resp. ECMAScriptu
·jpeg (Joint Photographic Experts Group), png (Portable Network Graphics), gif (Graphics Interchange Format) - grafick\'e form\'aty, t. j. be\v{z}n\'e obr\'azky a anim\'acie
·CSS (Cascading Style Sheets), JavaScript (referen\v{c}n\'a norma je naz\'yvan\'a ECMAScript, implement\'acia v prehliada\v{c}och sa obvykle naz\'yva JavaScript), XSL/XSLT (Extensible Stylesheet Language / Extensible Stylesheet Language Transformations), ...
V\v{s}etky spomenut\'e textov\'e dokumenty prehliada\v{c} interpretuje, v \v{c}om s\'u v\'yhody (napr. jednoduchos\v{t} \'uprav) aj nev\'yhody (s\'u pomal\v{s}ie ako bin\'arne form\'aty).
Hoci spom\'inan\'e dokumenty s\'u klientom prij\'iman\'e ako statick\'e dokumenty (t. j. obvykle bez mo\v{z}nosti priamej \'upravy v prehliada\v{c}i), ve\v{l}mi \v{c}asto, najm\"a v pr\'ipade rozsiahlej\v{s}\'ich projektov, s\'u generovan\'e dynamicky na strane servera pod\v{l}a prijat\'ych po\v{z}iadaviek klienta. Na jednej strane to u\v{l}ah\v{c}uje administr\'aciu v\"a\v{c}\v{s}\'ich projektov a umo\v{z}\v{n}uje u\v{z}\'ivate\v{l}om lep\v{s}ie interagova\v{t} s obsahom, na strane druhej to znamen\'a v\"a\v{c}\v{s}iu z\'a\v{t}a\v{z} pre servery a z toho vypl\'yvaj\'uce n\'aklady v pr\'ipade ich nedostato\v{c}n\'eho v\'ykonu a jeho zv\'y\v{s}ovania. Napriek tomu je ve\v{l}mi \v{c}ast\'e, \v{z}e viacero webov\'ych str\'anok na viacer\'ych webov\'ych adres\'ach je obsluhovan\'ych jedn\'ym, resp. dvoma servermi. Je to mo\v{z}n\'e v\v{d}aka vysok\'emu v\'ykonu dne\v{s}n\'ych serverov. Tento fakt umo\v{z}\v{n}uje aj pomerne lacn\'e umiestnenie a obsluhovanie webov\'eho obsahu.
Ako je tento obsah generovan\'y dynamicky? Vo v\"a\v{c}\v{s}ine pr\'ipadov je viacero mo\v{z}n\'ych rie\v{s}en\'i, z nich naj\v{c}astej\v{s}ie je pou\v{z}itie SSI (Server Side Includes) a predov\v{s}etk\'ym skriptov. Menej \v{c}ast\'e je pou\v{z}itie \v{s}peci\'alnych, pre tento \'u\v{c}el naprogramovan\'ych a skompilovan\'ych programov. Rozdiel medzi skriptom a programom je v z\'asade v tom, \v{z}e skripty sa neprev\'adzaj\'u do nat\'ivneho bin\'arneho k\'odu len raz, ale s\'u to, na rozdiel od programov, textov\'e s\'ubory „za letu“ interpretovan\'e programom naz\'yvan\'ym interpreter. Z tohto faktu vypl\'yva, \v{z}e skripty s\'u o nie\v{c}o pomal\v{s}ie ako programy, ale pre jednoduchos\v{t} s\'u nesmierne popul\'arne a vyu\v{z}\'ivan\'e.
Skripty s\'u naj\v{c}astej\v{s}ie pou\v{z}\'ivan\'e z nieko\v{l}k\'ych d\^ovodov. Je mo\v{z}n\'e pri nich pou\v{z}\'iva\v{t} r\^ozne skriptovacie jazyky, je to ve\v{l}mi flexibiln\'e, \v{l}ahko a r\'ychlo upravite\v{l}n\'e rie\v{s}enie, naviac \v{c}asto dostato\v{c}ne v\'ykonn\'e. Pokia\v{l} treba v\'ykon naviac, obvykle sa pou\v{z}\'ivaj\'u CGI (Common Gateway Interface) skripty, kde s\'u na\v{c}astej\v{s}ie pou\v{z}\'ivan\'e jazyky Perl a Python, v\'ynimo\v{c}ne C/C++ (to s\'u v\v{s}ak programovacie jazyky, nie skriptovacie, aj ke\v{d} aj tieto sa daj\'u interpretova\v{t}).
Pre be\v{z}n\'e skripty sa obvykle pou\v{z}\'ivaj\'u jazyky ako PHP (najbe\v{z}nej\v{s}\'i), v men\v{s}ej miere Perl, Python, Ruby, ASP a in\'e.
V s\'u\v{c}asnosti s\'u zdrojom \'udajov pre dynamick\'e generovanie obsahu bu\v{d} oby\v{c}ajn\'e textov\'e s\'ubory, XML dokumenty alebo datab\'azy.}, |