VyÜlo v t²denφku: CHIPweek
╚φslo:48/96
Datum:26. listopadu 1996
Strana:33
Rubrika/kategorie: Co to znamenß, kdy₧ se °ekne ...

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

Client Pull a Server Push

V bßjeΦnΘm sv∞t∞ slu₧by World Wide Web dnes existuje celß °ada technik, umo₧≥ujφcφch dalÜφ zvyÜovßnφ u₧ivatelskΘ atraktivnosti a äfunkΦnosti" WWW strßnek. N∞kter²m z nich se dostßvß znaΦnΘ publicity (jako t°eba jazyku Java), n∞kter²m publicity pon∞kud skromn∞jÜφ (jako t°eba animovan²m obrßzk∙m GIF), a jeÜt∞ jinΘ pak jsou v odborn²ch pramenech zmi≥ovßny jen velmi z°φdka. Sem pat°φ i dv∞ vzßjemn∞ komplementßrnφ techniky, oznaΦovanΘ jako äServer Push" a äClient Pull".

Ob∞ tyto techniky sledujφ v podstat∞ stejn² cφl - vynutit si obnovu dat, kterΘ WWW klient (prohlφ₧eΦ) n∞kdy p°edtφm zφskal od WWW serveru. Tedy vyvolat akci analogickou tomu, co se u v∞tÜiny WWW prohlφ₧eΦ∙ oznaΦuje jako äReload", a co spoΦφvß v op∞tovnΘm änata₧enφ" prßv∞ zobrazovanΘ strßnky. OvÜem s tφm rozdφlem, ₧e nynφ se jednß o akci vyvolanou automaticky (a¥ ji₧ jednorßzov∞ Φi opakovan∞), a nikoli na bezprost°ednφ popud u₧ivatele. K Φemu ale m∙₧e b²t n∞co takovΘho dobrΘ?

Mo₧nostφ je hned n∞kolik. Nap°φklad kdy₧ p∙jde o zobrazovßnφ takov²ch ·daj∙, kterΘ se neustßle m∞nφ (nap°φklad momentßlnφ kurzy akciφ na burze, agenturnφ zpravodajstvφ, pr∙b∞₧nΘ v²sledky voleb apod.), je vhodnΘ za°φdit v∞ci tak, aby se u₧ivateli p°φsluÜnß strßnka sama obnovovala (znovu naΦφtala) s urΦitou pravidelnostφ (nap°φklad ka₧d²ch p∞t minut), a to nejlΘpe sama, bez p°φmΘho zßsahu Φlov∞ka - u₧ivatele. Jin²m mo₧n²m vyu₧itφm je jednoduchß animace, kdy budou opakovan²m änaΦφtßnφm" s vyÜÜφ frekvencφ opakovßnφ dopravovßny k u₧ivateli jednotlivΘ snφmky urΦitΘ animovanΘ sekvence (nebo t°eba r∙znΘ reklamy, kterΘ se pak budou st°φdav∞ zobrazovat v rßmci jednΘ a tΘ₧e WWW strßnky).

Ob∞ techniky, oznaΦovanΘ jako äServer Push" a äClient Pull", tedy sledujφ stejn² cφl, ale jejich p°φstup k dosa₧enφ tohoto cφle je znaΦn∞ odliÜn². Jak u₧ jejich samotn² nßzev naznaΦuje, technika äServer Push" p°edpoklßdß aktivnφ roli WWW serveru, kter² sv²m klient∙m (WWW browser∙m) sßm ävnucuje" resp. äprotlaΦuje k nim" novß data (tak by asi zn∞l nejv²sti₧n∞jÜφ p°eklad pojmu äpush" v tΘto souvislosti). Naopak technika äClient Pull" p°edpoklßdß aktivitu na stran∞ klienta, kter² si bude sßm z vlastnφ iniciativy ästahovat" (pull) novΘ verze ji₧ jednou naΦten²ch strßnek. DalÜφ odliÜnosti pak jsou i v konkrΘtnφ realizaci obou technik.

Technika äClient Pull" vyu₧φvß jednΘ mßlo znßmΘ vlastnosti protokolu HTTP a jazyka HTML, umo₧≥ujφcφ vlo₧it do prßv∞ stahovanΘ WWW strßnky p°φkaz typu äza dobu XY sßm naΦti strßnku na adrese ZW". Tento p°φkaz je samoz°ejm∞ urΦen WWW prohlφ₧eΦi, a nikoli u₧ivateli. P°φsluÜn² p°φkaz p°itom po₧aduje pouze jednorßzovΘ naΦtenφ, a nikoli naΦφtßnφ opakovanΘ - tak₧e pokud je ₧ßdoucφ vyvolat opakovßnφ, musφ b²t p°i novΘm naΦtenφ poka₧dΘ naΦtena takovß strßnka, kterß p°φsluÜn² p°φkaz obsahuje znovu. ZajφmavΘ je i to, ₧e zmφn∞n² p°φkaz (p°enßÜen² v hlaviΦce HTML strßnky) umo₧≥uje explicitn∞ zadat adresu strßnky, kterß mß b²t automaticky naΦtena - tak₧e to nemusφ nutn∞ b²t ta samß strßnka, ve kterΘ je p°φkaz obsa₧en. Toho pak lze s v²hodou vyu₧φvat p°i r∙zn²ch p°esunech WWW strßnek z jednoho serveru n∞kam jinam - na p∙vodnφ mφsto pak lze vlo₧it äodskokovou" strßnku, kterß prost°ednictvφm techniky äClient Pull" vyvolß automatickΘ naΦtenφ po₧adovanΘ WWW strßnky z jejφho novΘho sφdla.

Technika äServer Push" se k celΘ problematice opakovßnφ p°enos∙ stavφ zcela jinak. Pomocφ zajφmavΘho triku dosahuje toho, ₧e klient (prohlφ₧eΦ) po naΦtenφ celΘ strßnky neukonΦuje spojenφ navßzanΘ se serverem, ale pasivn∞ Φekß, a₧ mu server poÜle novou verzi dat. Trik p°itom spoΦφvß v tom, ₧e server oznßmφ klientovi, ₧e prßv∞ stahovanß strßnka mß povahu dokumentu slo₧enΘho z vφce Φßstφ, p°iΦem₧ jedna Φßst nahrazuje (äp°ekr²vß") druhou. Klient (prohlφ₧eΦ) si pak po naΦtenφ prvnφ verze strßnky myslφ, ₧e jde jen o prvnφ Φßst celΘho vφceslo₧kovΘho dokumentu, a Φekß na dalÜφ Φßsti (a p°itom neruÜφ spojenφ). Kdy₧ server sßm uznß za vhodnΘ, poÜle mu dalÜφ Φßst, kterou je dalÜφ verze tΘ₧e strßnky. Klient (prohlφ₧eΦ) touto Φßstφ dokumentu p°ekryje (nahradφ) p°edchozφ Φßst, tj. zobrazφ novou verzi p°φsluÜnΘ WWW strßnky, a Φekß dßl. VÜe se opakuje tak dlouho, dokud server neuznß za vhodnΘ celou zßle₧itost ukonΦit.


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