Tehnologiya World Wide Web


RAZDELY

ArhitekturaOsnovnye Komponenty

Arhitektura WWW-tehnologii

Ot opisaniya osnovnyh komponentov perejdem k arhitekture vzaimodejstviya programmnogo obespecheniya v sisteme World Wide Web. WWW postroena po horosho izvestnoj sheme "klient-server". Na risunke 7.1 pokazano, kak razdeleny funkcii v etoj sheme. Programma-klient vypolnyaet funkcii interfejsa pol'zovatelya i obespechivaet dostup prakticheski ko vsem informacionnym resursam Internet. V etom smysle ona vyhodit za obychnye ramki raboty klienta tol'ko s serverom opredelennogo protokola, kak eto proishodit v telnet, naprimer. Otchasti, dovol'no shiroko rasprostranennoe mnenie, chto Mosaic ili Netscape, kotorye bezuslovno yavlyayutsya WWW-klientami, eto prosto graficheskij interfejs v Internet, yavlyaetsya otchasti vernym. Odnako, kak uzhe bylo otmecheno, bazovye komponenty WWW-tehnologii (HTML i URL) igrayut pri dostupe k drugim resursam Mosaic ne poslednyuyu rol', i poetomu mul'tiprotokol'nye klienty dolzhny byt' otneseny imenno k World Wide Web, a ne k drugim informacionnym tehnologiyam Internet. Fakticheski, klient -- eto interpretator HTML. I kak tipichnyj interpretator, klient v zavisimosti ot komand (razmetki) vypolnyaet razlichnye funkcii. V krug etih funkcij vhodit ne tol'ko razmeshchenie teksta na ekrane, no obmen informaciej s serverom po mere analiza poluchennogo HTML-teksta, chto naibolee naglyadno proishodit pri otobrazhenii vstroennyh v tekst graficheskih obrazov. Pri analize URL-specifikacii ili po komandam servera klient zapuskaet dopolnitel'nye vneshnie programmy dlya raboty s dokumentami v formatah, otlichnyh ot HTML, naprimer GIF, JPEG, MPEG, Postscript i t. p. Voobshche govorya dlya zapuska klientom programm nezavisimo ot tipa dokumenta byla razrabotana programma Luncher, no v poslednee vremya gorazdo bol'shee rasprostranenie poluchil mehanizm soglasovaniya zapuskaemyh programm cherez MIME-tipy.
Druguyu chast' programmnogo kompleksa WWW sostavlyaet server protokola HTTP, bazy dannyh dokumentov v formate HTML, upravlyaemye serverom, i programmnoe obespechenie, razrabotannoe v standarte specifikacii CGI. Do samogo poslednego vremeni (do obrazovaniya Netscape) real'no ispol'zovalos' dva HTTP-servera: server CERN i server NCSA. No v nastoyashchee vremya chislo bazovyh serverov rasshirilos'. Poyavilsya ochen' neplohoj server dlya MS-Windows i Apachie-server dlya Unix-platform. Sushchestvuyut i drugie, no dva poslednih mozhno vydelit' iz soobrazhenij dostupnosti ispol'zovaniya. Server dlya Windows -- eto shareware, no bez vstroennogo samolikvidatora, kak v Netscape. Uchityvaya rasprostranennost' personalok v nashej strane, takoe programmnoe obespechenie daet vozmozhnost' poprobovat', chto takoe WWW. Vtoroj server -- eto otvet na ugrozu kommercializacii. Netscape uzhe ne rasprostranyaet svoj server Netsite svobodno i proshel sluh, chto NCSA-server takzhe budet rasprostranyat'sya na kommercheskoj osnove. V rezul'tate byl razrabotan Apachie, kotoryj po slovam ego avtorov budet freeware, i realizuet novye dopolneniya k protokolu HTTP, svyazannye s zashchitoj ot nesankcionirovannogo dostupa, kotorye predlozheny gruppoj po razrabotke etogo protokola i realizuyutsya prakticheski vo vseh kommercheskih serverah.

Baza dannyh HTML-dokumentov -- eto chast' fajlovoj sistemy, kotoraya soderzhit tekstovye fajly v formate HTML i svyazannye s nimi grafiku i drugie resursy. Osoboe vnimanie hotelos' by obratit' na dokumenty, soderzhashchie elementy ekrannyh form. |ti dokumenty real'no obespechivayut dostup k vneshnemu programmnomu obespecheniyu.

Prikladnoe programmnoe obespechenie, rabotayushchee s serverom, mozhno razdelit' na programmy-shlyuzy i prochie. SHlyuzy -- eto programmy, obespechivayushchie vzaimodejstvie servera s serverami drugih protokolov, naprimer ftp, ili s raspredelennymi na seti serverami Oracle. Prochie programmy -- eto programmy, prinimayushchie dannye ot servera i vypolnyayushchie kakie-libo dejstviya: poluchenie tekushchej daty, realizaciyu graficheskih ssylok, dostup k lokal'nym bazam dannyh ili prosto raschety.

Zavershaya obsuzhdenie arhitektury World Wide Web hotelos' by eshche raz podcherknut', chto ee komponenty sushchestvuyut prakticheski dlya vseh tipov komp'yuternyh platform i svobodno dostupny v seti. Lyuboj, kto imeet dostup v Internet, mozhet sozdat' svoj WWW-server, ili, po krajnej mere, posmotret' informaciyu s drugih serverov.


Osnovnye komponenty tehnologii World Wide Web

K 1989 godu gipertekst predstavlyal novuyu, mnogoobeshchayushchuyu tehnologiyu, kotoraya imela otnositel'no bol'shoe chislo realizacij s odnoj storony, a s drugoj storony delalis' popytki postroit' formal'nye modeli gipertekstovyh sistem, kotorye nosili skoree opisatel'nyj harakter i byli naveyany uspehom relyacionnogo podhoda opisaniya dannyh. Ideya T. Berners-Li zaklyuchalas' v tom, chtoby primenit' gipertekstovuyu model' k informacionnym resursam, raspredelennym v seti, i sdelat' eto maksimal'no prostym sposobom. On zalozhil tri kraeugol'nyh kamnya sistemy iz chetyreh sushchestvuyushchih nyne, razrabotav:
Pozzhe komanda NCSA dobavila k etim trem komponentam chetvertyj: Ideya HTML -- primer chrezvychajno udachnogo resheniya problemy postroeniya gipertekstovoj sistemy pri pomoshchi special'nogo sredstva upravleniya otobrazheniem. Na razrabotku yazyka gipertekstovoj razmetki sushchestvennoe vliyanie okazali dva faktora: issledovaniya v oblasti interfejsov gipertekstovyh sistem i zhelanie obespechit' prostoj i bystryj sposob sozdaniya gipertekstovoj bazy dannyh, raspredelennoj na seti.

V 1989 godu aktivno obsuzhdalas' problema interfejsa gipertekstovyh sistem, t.e. sposobov otobrazheniya gipertekstovoj informacii i navigacii v gipertekstovoj seti. Znachenie gipertekstovoj tehnologii sravnivali so znacheniem knigopechataniya. Utverzhdalos', chto list bumagi i komp'yuternye sredstva otobrazheniya/vosproizvedeniya ser'ezno otlichayutsya drug ot druga, i poetomu forma predstavleniya informacii tozhe dolzhna otlichat'sya. Naibolee effektivnoj formoj organizacii giperteksta byli priznany kontekstnye gipertekstovye ssylki, a krome togo bylo priznano delenie na ssylki, associirovannye so vsem dokumentom v celom i otdel'nymi ego chastyami.

Samym prostym sposobom sozdaniya lyubogo dokumenta yavlyaetsya ego nabivka v tekstovom redaktore. Opyt sozdaniya horosho razmechennyh dlya posleduyushchego otobrazheniya dokumentov v CERNˆe byl - trudno najti fizika, kotoryj ne pol'zovalsya by sistemoj TeX ili LaTeX. Krome togo k tomu vremeni sushchestvoval standart yazyka razmetki -- Standard Generalised Markup Language (SGML).

Sleduet takzhe prinyat' vo vnimanie, chto soglasno svoim predlozheniyam T. Berners-Li predpolagal ob®edinit' v edinuyu sistemu imeyushchiesya informacionnye resursy CERN, i pervymi demonstracionnymi sistemami dolzhny byli stat' sistemy dlya NeXT i VAX/VMS.

Obychno gipertekstovye sistemy imeyut special'nye programmnye sredstva postroeniya gipertekstovyh svyazej. Sami gipertekstovye ssylki hranyatsya v special'nyh formatah ili dazhe sostavlyayut special'nye fajly. Takoj podhod horosh dlya lokal'noj sistemy, no ne dlya raspredelennoj na mnozhestve razlichnyh komp'yuternyh platform. V HTML gipertekstovye ssylki vstroeny v telo dokumenta i hranyatsya kak ego chast'. CHasto v sistemah primenyayut special'nye formaty hraneniya dannyh dlya povysheniya effektivnosti dostupa. V WWW dokumenty -- eto obychnye ASCII- fajly, kotorye mozhno podgotovit' v lyubom tekstovom redaktore. Takim obrazom, problema sozdaniya gipertekstovoj bazy dannyh byla reshena chrezvychajno prosto.

V kachestve bazy dlya razrabotki yazyka gipertekstovoj razmetki byl vybran SGML (Standard Generalised Markup Language). Sleduya akademicheskim tradiciyam, Berners-Li opisal HTML v terminah SGML (kak opisyvayut yazyk programmirovaniya v terminah formy Bekusa-Naura). Estestvenno, chto v HTML byli realizovany vse razmetki, svyazannye s vydeleniem paragrafov, shriftov, stilej i t. p., t.k. realizaciya dlya NeXT podrazumevala graficheskij interfejs. Vazhnym komponentom yazyka stalo opisanie vstroennyh i associirovannyh gipertekstovyh ssylok, vstroennoj grafiki i obespechenie vozmozhnosti poiska po klyuchevym slovam.

S momenta razrabotki pervoj versii yazyka (HTML 1.0) proshlo uzhe pyat' let. Za eto vremya proizoshlo dovol'no ser'eznoe razvitie yazyka. Pochti vdvoe uvelichilos' chislo elementov razmetki, oformlenie dokumentov vse bol'she priblizhaetsya k oformleniyu kachestvennyh pechatnyh izdanij, razvivayutsya sredstva opisaniya ne tekstovyh informacionnyh resursov i sposoby vzaimodejstviya s prikladnym programmnym obespecheniem. Sovershenstvuetsya mehanizm razrabotki tipovyh stilej. Fakticheski, v nastoyashchee vremya HTML razvivaetsya v storonu sozdaniya standartnogo yazyka razrabotki interfejsov kak lokal'nyh, tak i raspredelennyh sistem.

Vtorym kraeugol'nym kamnem WWW stala universal'naya forma adresacii informacionnyh resursov. Universal Resource Identification (URI) predstavlyaet soboj dovol'no strojnuyu sistemu, uchityvayushchuyu opyt adresacii i identifikacii e-mail, Gopher, WAIS, telnet, ftp i t. p. No real'no iz vsego, chto opisano v URI, dlya organizacii baz dannyh v WWW trebuetsya tol'ko Universal Resource Locator (URL). Bez nalichiya etoj specifikacii vsya moshch' HTML okazalas' by bespoleznoj. URL ispol'zuetsya v gipertekstovyh ssylkah i obespechivaet dostup k raspredelennym resursam seti. V URL mozhno adresovat' kak drugie gipertekstovye dokumenty formata HTML, tak i resursy e-mail, telnet, ftp, Gopher, WAIS, naprimer. Razlichnye interfejsnye programmy po raznomu osushchestvlyayut dostup k etim resursam. Odni, kak naprimer Netscape, sami sposobny podderzhivat' vzaimodejstvie po protokolam, otlichnym ot protokola HTTP, bazovogo dlya WWW, drugie, kak naprimer Chimera, vyzyvayut dlya etoj celi vneshnie programmy. Odnako, dazhe v pervom sluchae, bazovoj formoj predstavleniya otobrazhaemoj informacii yavlyaetsya HTML, a ssylki na drugie resursy imeyut formu URL. Sleduet otmetit', chto programmy obrabotki elektronnoj pochty v formate MIME takzhe imeyut vozmozhnost' otobrazhat' dokumenty, predstavlennye v formate HTML. Dlya etoj celi v MIME zarezervirovan tip "text/html".

Tret'im v nashem spiske stoit protokol obmena dannymi v World Wide Web -- HyperText Transfer Protocol. Dannyj protokol prednaznachen dlya obmena gipertekstovymi dokumentami i uchityvaet specifiku takogo obmena. Tak v processe vzaimodejstviya, klient mozhet poluchit' novyj adres resursa na seti (relocation), zaprosit' vstroennuyu grafiku, prinyat' i peredat' parametry i t. p. Upravlenie v HTTP realizovano v vide ASCII-komand. Real'no razrabotchik gipertekstovoj bazy dannyh stalkivaetsya s elementami protokola tol'ko pri ispol'zovanii vneshnih raschetnyh programm ili pri dostupe k vneshnim otnositel'no WWW informacionnym resursam, naprimer bazam dannyh.

Poslednyaya sostavlyayushchaya tehnologii WWW - eto uzhe plod raboty gruppy NCSA -- specifikaciya Common Gateway Interface. CGI byla special'no razrabotana dlya rasshireniya vozmozhnostej WWW za schet podklyucheniya vsevozmozhnogo vneshnego programmnogo obespecheniya. Takoj podhod logichno prodolzhal princip publichnosti i prostoty razrabotki i narashchivaniya vozmozhnostej WWW. Esli komanda CERN predlozhila prostoj i bystryj sposob razrabotki baz dannyh, to NCSA razvila etot princip na razrabotku programmnyh sredstv. Nado zametit', chto v obshchedostupnoj biblioteke CERN byli moduli, pozvolyayushchie programmistam podklyuchat' svoi programmy k serveru HTTP, no eto trebovalo ispol'zovaniya etoj biblioteki. Predlozhennyj i opisannyj v CGI sposob podklyucheniya ne treboval dopolnitel'nyh bibliotek i bukval'no oshelomlyal svoej prostotoj. Server vzaimodejstvoval s programmami cherez standartnye potoki vvoda/vyvoda, chto uproshchaet programmirovanie do predela. Pri realizacii CGI chrezvychajno vazhnoe mesto zanyali metody dostupa, opisannye v HTTP. I hotya real'no ispol'zuyutsya tol'ko dva iz nih (GET i POST), opyt razvitiya HTML pokazyvaet, chto soobshchestvo WWW zhdet razvitiya i CGI po mere uslozhneniya zadach, v kotoryh budet ispol'zovat'sya WWW-tehnologiya.