zp∞t do archivu Φlßnk∙ |
rejst°φk |
p°edchozφ Φlßnek |
nßsledujφcφ Φlßnek
Server Side Includes
Jak jsme si v tΘto rubrice ji₧ n∞kolikrßt naznaΦili, obohacovßnφ slu₧by WWW o dalÜφ funkce a funkΦnφ mo₧nosti se ubφrß mnoha r∙zn²mi sm∞ry souΦasn∞. Jednou ze zajφmav²ch mo₧nostφ je i mechanismus, umo₧≥ujφcφ vklßdat do jednotliv²ch WWW strßnek urΦitΘ v∞ci jeÜt∞ na stran∞ serveru, várßmci p°φpravy na jejich odeslßnφ klientovi kter² si je vy₧ßdal. Jde konkrΘtn∞ o mechanismus, kter² dostal p°φhodnΘ a v²sti₧nΘ oznaΦenφ: Server Side Includes (zkratkou SSI).
Doslovn² p°eklad nßzvu "Server Side Includes" by mohl znφt "vsuvky, vklßdanΘ na stran∞ serveru", a to docela p°esn∞ vystihuje skuteΦnou podstatu v∞ci. Za normßlnφch okolnostφ, bez pou₧itφ mechanismu SSI (a takΘ bez r∙zn²ch dalÜφch mechanism∙, kterΘ vánaÜich zem∞pisn²ch Üφ°kßch umo₧≥ujφ dynamickΘ p°ek≤dovßvßnφ ΦeÜtiny ve WWW strßnkßch) se ka₧d² WWW server chovß spφÜe jako pasivnφ skladiÜt∞ hypertextov²ch dokument∙ ve form∞ HTML strßnek. On je toti₧ pouze na vhodn²ch mφstech skladuje, a pokud si n∞jak² konkrΘtnφ u₧ivatel prost°ednictvφm svΘho browseru o urΦitou strßnku °ekne, WWW server mu ji jednoduÜe poÜle - bez toho, ₧e by se dφval dovnit° do obsahu tΘto strßnky, a pokouÜel se tento obsah n∞jak interpretovat a reagovat na n∞j.
Mechanismus SSI ovÜem toto standardnφ chovßnφ WWW serveru m∞nφ, a nutφ jej dφvat se dovnit° jednotliv²ch strßnek jeÜt∞ d°φve, ne₧ jsou odeslßny p°φsluÜnΘmu klientovi. To, po Φem se server dφvß, p°itom jsou specißlnφ p°φkazy, vklßdanΘ do jednotliv²ch strßnek a urΦenΘ nikoli klient∙m (WWW browser∙m), ale ji₧ samotn²m WWW server∙m, kter²m p°φkazujφ vykonat n∞co konkrΘtnφho jeÜt∞ p°ed odeslßnφm strßnky. Repertoßr t∞chto p°φkaz∙ samoz°ejm∞ zßvisφ na konkrΘtnφ implementaci, resp. na konkrΘtnφm WWW serveru, ale nejΦast∞ji jde o akce nßsledujφcφho typu:
- vlo₧ do textu strßnky, na mφsto p°φkazu, obsah zadanΘho souboru (anglicky "include"). Tato mo₧nost svou filosofiφ odpovφdß analogick²m direktivßm (INCLUDE) mnoha p°ekladaΦ∙ vyÜÜφch programovacφch jazyk∙, kterΘ takΘ umo₧≥ujφ vyΦlenit n∞kterΘ Φßsti zdrojov²ch text∙, zapsat je do samostatn²ch textov²ch soubor∙ a tyto pak p°i p°ekladu dynamicky vklßdat ("inkludovat") do zdrojovΘho textu hlavnφho programu. Váp°φpad∞ WWW server∙ a mechanismu SSI takovßto mo₧nost sleduje nap°φklad ·spornΘ a efektivnφ vklßdßnφ Φasto se opakujφcφch text∙ do vφce r∙zn²ch WWW strßnek: jako nap°φklad tehdy, kdy₧ ka₧dß firemnφ strßnka musφ konΦit dov∞tkem o tom, ₧e firma XY vyrßb∞jφcφ zbo₧φ AB sφdlφ na adrese CD, a jejφ telefonnφ a faxovΘ Φφslo je EF. Kdyby takovßto informace byla explicitn∞ zahrnuta do ka₧dΘ jednotlivΘ strßnky, pak by tyto strßnky urΦit∞ zabφraly na serveru zbyteΦn∞ mnoho mφsta. Hlavn∞ si ale p°edstavte, ₧e by se na obsahu vÜude se opakujφcφch ·daj∙ n∞co zm∞nilo (nap°φklad telefonnφ Φφslo) - pak by bylo nutnΘ zm∞nit vÜechny strßnky! Mechanismus SSI umo₧≥uje ponechat opakujφcφ se text vájedinΘm exemplß°i, a na vÜechna mφsta kam tento text pat°φ umφstit p°φkaz kázahrnutφ (INCLUDE) souboru se zmφn∞n²m textem.
- vlo₧ do textu strßnky, op∞t jako text, urΦit² konkrΘtnφ ·daj - tφm m∙₧e b²t nap°φklad momentßlnφ datum a Φas, nebo stav poΦφtadla p°φstup∙ na danou strßnku, aktußlnφ velikost urΦitΘho souboru apod. Tφmto zp∙sobem lze pom∞rn∞ jednoduÜe realizovat akce typu poΦφtßnφ p°φstup∙ ke strßnce, kterΘ by se prost°ednictvφm jin²ch mechanism∙ sice daly realizovat takΘ, ale nejspφÜe ne tak pohodln∞ a jednoduÜe. Vázßsad∞ si lze tuto mo₧nost p°edstavit jako volßnφ externφm program∙ a funkcφ, kterΘ jsou "pevn∞ zabudovßny" vámechanismu SSI.
- prove∩ zadan² program, a jeho v²stup vlo₧ do strßnky na mφsto p°φkazu kávolßnφ programu. Tento p°φpad je vlastn∞ zobecn∞nφm p°edchozφ mo₧nosti, kdy se p°φkazem vlo₧en²m do textu strßnky dß zavolat vázßsad∞ jak²koli externφ program. Tato mo₧nost je souΦasn∞ i nejv∞tÜφm potencißlnφm rizikem mechanismu SSI - s mo₧nostφ vynutit si provedenφ programu p°φmo na serveru je t°eba naklßdat velmi obez°etn∞, tak aby se p°edeÜlo p°φpadnΘmu zneu₧itφ.
Mechanismus SSI byl poprvΘ implementovßn na WWW serveru, pochßzejφcφm ze st°ediska NCSA (v tzv. NCSA HTTP dΘmonu). VásouΦasnΘ dob∞ pak tento mechanismus podporuje celß °ada dalÜφch WWW server∙, zánejnov∞jÜφch nap°φklad i WWW server firmy Novell (Novell Web Server), urΦen² káprovozovßnφ na serverech Netware 4.1 a vyÜÜφch.
zp∞t do archivu Φlßnk∙ | rejst°φk |
p°edchozφ Φlßnek |
nßsledujφcφ Φlßnek
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese
http://archiv.czech.net/copyleft.htm