Технологія World Wide Web p>
РОЗДІЛИ p>
1. Архітектура p>
Основні компоненти p>
Архітектура WWW-технології p>
Від опису основних компонентів перейдемо до архітектури взаємодіїпрограмного забезпечення в системі World Wide Web. WWW побудована за добревідомою схемою "клієнт-сервер". На малюнку 7.1 показано, як розділеніфункції в цій схемі. Програма-клієнт виконує функції інтерфейсукористувача і забезпечує доступ практично до всіх інформаційнихресурсів Internet. У цьому сенсі вона виходить за звичайні рамки роботиклієнта тільки із сервером визначеного протоколу, як це відбувається вtelnet, наприклад. Почасти, досить широко поширена думка, що
Mosaic чи Netscape, які безумовно є WWW-клієнтами, це простографічний інтерфейс у Internet, є почасти вірним. Однак, як вжебуло відзначено, базові компоненти WWW-технології (HTML і URL) грають придоступі до інших ресурсів Mosaic не останню роль, і томумультипротокольні клієнти повинні бути віднесені саме до World Wide Web, ане до інших інформаційних технологій Internet. Фактично, клієнт - цеінтерпретатор HTML. І як типовий інтерпретатор, клієнт у залежності відкоманд (розмітки) виконує різні функції. У коло цих функцій входитьне тільки розміщення тексту на екрані, але обмін інформацією з сервером поміру аналізу отриманого HTML-тексту, що найбільш наочно відбувається привідображенні вбудованих в текст графічних образів. При аналізі URL -специфікації або по командах сервера клієнт запускає додатковізовнішні програми для роботи з документами у форматах, відмінних від HTML,наприклад GIF, JPEG, MPEG, Postscript і т.п. Узагалі говорячи для запускуклієнтом програм незалежно від типу документа була розроблена програма
Luncher, але останнім часом набагато більше поширення отримавмеханізм узгодження запускаються, через MIME-типи. Іншу частинупрограмного комплексу WWW становить сервер протоколу HTTP, бази данихдокументів у форматі HTML, керовані сервером, і програмне забезпечення,розроблене в стандарті специфікації CGI. До самого останнього часу
(до утворення Netscape) реально використовувалося два HTTP-сервери: сервер
CERN і сервер NCSA. Але в даний час число базових серверіврозширилося. З'явився дуже непоганий сервер для MS-Windows і Apachie-сервердля Unix-платформ. Існують і інші, але два останніх можна виділити зміркувань доступності використання. Сервер для Windows - це shareware,але без вбудованого самоліквідатора, як у Netscape. З огляду напоширеність персоналок в нашій країні, таке програмне забезпеченнядає можливість спробувати, що таке WWW. Другий сервер - це відповідь назагрозу комерціалізації. Netscape вже не поширює свій сервер Netsiteвільно і пройшов слух, що NCSA-сервер також буде поширюватися накомерційній основі. У результаті був розроблений Apachie, який за словамийого авторів буде freeware, і реалізує нові доповнення до протоколу HTTP,пов'язані із захистом від несанкціонованого доступу, які запропонованігрупою по розробці цього протоколу і реалізуються практично у всіхкомерційних серверах. p>
База даних HTML-документів - це частина файлової системи, якамістить текстові файли у форматі HTML і зв'язані з ними графіку й іншіресурси. Особливу увагу хотілося б звернути на документи, що містятьелементи екранних форм. Ці документи реально забезпечують доступ дозовнішнього програмного забезпечення. p>
Прикладне програмне забезпечення, що працює із сервером, можнарозділити на програми-шлюзи та інші. Шлюзи - це програми,що забезпечують взаємодію сервера із серверами інших протоколів,наприклад ftp, чи з розподіленими на мережі серверами Oracle. Іншіпрограми - це програми, що приймають дані від сервера і виконуютьбудь-які дії: одержання поточної дати, реалізацію графічних посилань,доступ до локальних баз даних чи просто розрахунки. p>
Завершуючи обговорення архітектури World Wide Web хотілося б ще разпідкреслити, що її компоненти існують практично для всіх типівкомп'ютерних платформ і вільно доступні в мережі. Будь-хто, хто має доступ в
Internet, може створити свій WWW-сервер, або, принаймні, подивитисяінформацію з інших серверів. p>
Основні компоненти технології World Wide Web p>
До 1989 року гіпертекст представляв нову, багатообіцяючу технологію,яка мала відносно велике число реалізацій з одного боку, а зіншої сторони робилися спроби побудувати формальні моделі гіпертекстовихсистем, що носили скоріше описовий характер і були навіяні успіхомреляційного підходу опису даних. Ідея Т. Бернерс-Лі полягала в тому,щоб застосувати гіпертекстове модель до інформаційних ресурсів,розподіленим у мережі, і зробити це максимально простим способом. Вінзаклав три наріжних камені системи з чотирьох існуючих нині,розробивши:
- мова гіпертекстової розмітки документів HTML (HyperText Markup Lan-guage);
- універсальний спосіб адресації ресурсів у мережі URL (Universal Resource p>
Locator);
- протокол обміну гіпертекстової інформацією HTTP (HyperText Transfer p>
Protocol). p>
Пізніше команда NCSA додала до цим трьох компонентам четвертий:універсальний інтерфейс шлюзів CGI (Common Gateway Interface). p>
Ідея HTML - приклад надзвичайно вдалого рішення проблеми побудовигіпертекстової системи за допомогою спеціального засобу управліннявідображенням. На розробку мови гіпертекстової розмітки істотнийвплив зробили два фактори: дослідження в області інтерфейсівгіпертекстових систем і бажання забезпечити простий і швидкий спосібстворення гіпертекстової бази даних, розподіленої на мережі. p>
У 1989 році активно обговорювалася проблема інтерфейсу гіпертекстовихсистем, тобто способів відображення гіпертекстової інформації і навігації вгіпертекстової мережі. Значення гіпертекстової технології порівнювали зізначенням друкарства. Стверджувалося, що лист паперу і комп'ютернізасоби відображення/відтворення серйозно відрізняються один від одного, ітому форма представлення інформації теж повинна відрізнятися. Найбільшефективною формою організації гіпертексту були визнані контекстнігіпертекстові посилання, а крім того було визнано розподіл на посилання,асоційовані з усім документом у цілому та окремими його частинами. p>
Найпростішим способом створення будь-якого документа є його набиванняв текстовому редакторі. Досвід створення добре розмічених для подальшоговідображення документів у CERN + е був - важко знайти фізика, який некористувався б системою TeX або LaTeX. Крім того на той часіснував стандарт мови розмітки - Standard Generalised Markup Language
(SGML). P>
Слід також взяти до уваги, що відповідно до своїх пропозицій Т.
Бернерс-Лі припускав об'єднати в єдину систему наявні інформаційніресурси CERN, і першими демонстраційними системами повинні були статисистеми для NeXT і VAX/VMS. p>
Звичайно гіпертекстові системи мають спеціальні програмні засобипобудови гіпертекстових зв'язків. Самі гіпертекстові посилання зберігаються вспеціальних форматах або навіть складають спеціальні файли. Такий підхідгарний для локальної системи, але не для розподіленої на безлічірізних комп'ютерних платформ. У HTML гіпертекстові посилання убудовані втіло документа і зберігаються як його частину. Часто в системах застосовуютьспеціальні формати збереження даних для підвищення ефективності доступу. У
WWW документи - це звичайні ASCII-файли, які можна підготувати в будь-якомутекстовому редакторі. Таким чином, проблема створення гіпертекстової базиданих була вирішена надзвичайно просто. p>
У якості основи для розробки мови гіпертекстової розмітки бувобраний SGML (Standard Generalised Markup Language). Слідуючи академічнимтрадиціям, Бернерс-Лі описав HTML у термінах SGML (як описують мовапрограмування в термінах форми Бекуса-Наура). Природно, що в HTMLбули реалізовані всі розмітки, зв'язані з виділенням параграфів, шрифтів,стилів і т. п., тому що реалізація для NeXT мала на увазі графічнийінтерфейс. Важливим компонентом мови став опис вбудованих іасоційованих гіпертекстових посилань, убудованої графіки і забезпеченняможливості пошуку за ключовими словами. p>
З моменту розробки першої версії мови (HTML 1.0) пройшло вже п'ятьроків. За цей час відбулося досить серйозний розвиток мови. Майже вдвічізбільшилося число елементів розмітки, оформлення документів все більшенаближається до оформлення якісних друкованих видань, розвиваютьсязасоби опису не текстових інформаційних ресурсів і способивзаємодії з прикладним програмним забезпеченням. Удосконалюєтьсямеханізм розробки типових стилів. Фактично, в даний час HTMLрозвивається у бік створення стандартної мови розробки інтерфейсівяк локальних, так і розподілених систем. p>
Другим наріжним каменем WWW стала універсальна форма адресаціїінформаційних ресурсів. Universal Resource Identification (URI)являє собою досить струнку систему, що враховує досвід адресації іідентифікації e-mail, Gopher, WAIS, telnet, ftp і т.п. Але реально зза все, що описано в URI, для організації баз даних у WWW потрібно тільки
Universal Resource Locator (URL). Без наявності цієї специфікації вся міць
HTML виявилася б марною. URL використовується в гіпертекстових посиланнях ізабезпечує доступ до розподілених ресурсів мережі. У URL можна адресуватияк інші гіпертекстові документи формату HTML, так і ресурси e-mail,telnet, ftp, Gopher, WAIS, наприклад. Різні інтерфейсні програми порізному здійснюють доступ до цих ресурсів. Одні, як наприклад Netscape,самі здатні підтримувати взаємодія по протоколах, відмінним відпротоколу HTTP, базового для WWW, інші, як наприклад Chimera, викликаютьдля цієї мети зовнішні програми. Однак, навіть у першому випадку, базовоюформою подання інформації, що відображається є HTML, а посилання наінші ресурси мають форму URL. Слід зазначити, що програми обробкиелектронної пошти у форматі MIME також мають можливість відображатидокументи, представлені у форматі HTML. Для цієї мети в MIMEзарезервований тип "text/html". p>
Третім у нашому списку коштує протокол обміну даними в World Wide Web
- HyperText Transfer Protocol. Даний протокол призначений для обмінугіпертекстовими документами і враховує специфіку такого обміну. Так впроцесі взаємодії, клієнт може отримати нову адресу ресурсу на мережі
(relocation), запросити вбудовану графіку, прийняти і передати параметри іт. п. Управління в HTTP реалізовано у виді ASCII-команд. Реальнорозроблювач гіпертекстової бази даних зіштовхується з елементами протоколутільки при використанні зовнішніх розрахункових чи програм при доступі дозовнішнім відносно WWW інформаційним ресурсам, наприклад базам даних. p>
Остання складова технології WWW - це вже плід роботи групи
NCSA - специфікація Common Gateway Interface. CGI була спеціальнорозроблена для розширення можливостей WWW за рахунок підключеннявсілякого зовнішнього програмного забезпечення. Такий підхід логічнопродовжував принцип публічності і простоти розробки і нарощуванняможливостей WWW. Якщо команда CERN запропонувала простий і швидкий спосіброзробки баз даних, то NCSA розвинула цей принцип на розробкупрограмних засобів. Треба зауважити, що у загальнодоступній бібліотеці CERNбули модулі, що дозволяють програмістам підключати свої програми до сервера
HTTP, але це вимагало використання цієї бібліотеки. Запропонований іописаний у CGI спосіб підключення не вимагав додаткових бібліотек ібуквально приголомшував своєю простотою. Сервер взаємодіяв з програмамичерез стандартні потоки введення/виводу, що спрощує програмування домежі. При реалізації CGI надзвичайно важливе місце зайняли методи доступу,описані в HTTP. І хоча реально використовуються тільки два з них (GET і
POST), досвід розвитку HTML показує, що співтовариство WWW чекає розвитку і
CGI у міру ускладнення задач, в яких буде використовуватися WWW -технологія. p>