В контекста на универсалния клиент-сървър, базиран на Web технология, управлението на клиента е основано на взаимодействието на три компонента HTTP, HTML и CGI. Езикът HTML е предназначен за представяне в подходящ вид на документи при клиента. Връзката между клиента и сървъра се осъществява с помощта на протокола HTTP. Поведението на клиента се следи от сървъра чрез скриптов език като CGI интерфейс. В тази проста схема, в последно време, намират място и допълнителни компоненти, които имат за цел да подобрят диалога между клиента и сървъра, да повишат сигурността при обмена на информация, и да въведат динамичен елемент в съдържанието на данните.
Протокол HTTP
HTTP (Hyper Text Transfert Protocol) е протокол за обмен на документи между сървър и клиент, работещи под управление на Интернет протoколи (TCP/IP). В Интернет мрежа това позволява бързото разпространение на хипермедийни документи. Функционирането на протокола HTTP се свързва с проста схема на "въпрос-отговор". Клиентът излъчва заявка към сървъра, на което той отговаря (Фигура 9).
Показаното взаимодействие на Фигура 9 не се отличва от това характерно за други видове Интернет протоколи. Web сървърите изпращат поисканите от клиента файлове. Подобна схема е налице и при взаимодействие между един FTP клиент и съответения FTP сървър. Разликата се сътои в по-богатата функционалност на HTTP протокола. Един хипермедиен документ може да съдържа освен текст и асоциирани към него графични, звукови или видео компоненти. За една заявка на клиента от сървъра се изпращат всички елементи от нейния резултат, т.е. всички компоненти влизащи в състава на желания документ. Допълнително, в зависимост от естеството на заявката и средствата за нейната обработка, от сървъра към клиента може да се изпращат и чисто генерирани данни (CGI интерфейс).
Простата схема на взаимодействия в HTTP протокола направиха Web услугата сред най-предпочитаните и популярни в Интернет. Заедно с това, тази упростена схема създава определени проблеми при по-сложни взаимодействия между клиента и сървъра, каквато е наблюдаваната тенденцията за развитие на Web технологийте. Диалог чрез обмен на файлове изключва възможност за управление на сесии в рамките на протокола, нещо необходимо при разработка на приложения взаимодействащи с бази данни.
Език HTML
HTML (HyperText Markup Langage) е скриптов език за генериране на преносими документи по Интернет. Преносимостта се осигурява от възприетия стандарт за езика (HTML 3.2, 4.0, 4.01, DHTML) от всички компютърни платформи и производители на Web браузъри (Виж раздела "Мултимедийни документи"). Езиковите средства са съставени от мета-дескриптори за описание на различни текстови фрагменти и параграфи, вмъкване в текста на графични, звукови и видео компоненти, както и средства за описание на връзки към други документи. Записани в текстови файлове с разширения .htm или .html докуметите се предават на клиента, който ги интерпретира и изобразява в полето на браузъра. Чистото съдържание на един HTML файл може да се разглежда с произволен текстов редактор (Notepad в Windows, vi в Unix). Езикът HTML в този смисъл не е средство за изграждане на интерфейс, а само средство за стилово описание на документи. Динамични и диалогови елементи се изграждат с допълнителни средства.
CGI интерфейс
CGI (Common Gateway Interface) е програмен интерфейс, позволяващ изпълнението на външни програми от един HTTP сървър. Това е стандарт от ниско програмно ниво, съвместим с почти всички видове сървъри от тип HTTP. Предназначението му е да позволи обработката на клиентски заявки от сървъра. CGI програмите се изпълняват на сървъра с параметри зададени от клиент. Програмният им код се реализира от shell скриптове, код на езика PERL, C или C++. Предпочитан в тази област е езикът PERL. Езиковите му средства са максимално адаптирани за нуждите и функциите на този род приложения. Със средствата на CGI програма по заявка на клиента в сървъра се генерира HTML документ, който му се изпраща обратно за визуализация от неговия браузър (Фигура 10).
Показаното на Фигура 10 илюстрира следната схема на функциониране:
Съществен недостатът в тази технология е, че за всяка заявка сървърът стартира отделно копие на CGI модула. Това може да доведе до сериозен недостик на ресурс при паралелни заявки от множество клиенти. И тук няма механизъм за обработка на сесии, т.е. липсва непосредствена връзка между клиента и сървъра.
Скриптови езици
Статичността на HTML страниците може да бъде разчупена само с допълнителни средства. Разширенията на езика в посока на динамизиране на изразните му средства като DHTML включва използването на скриптови езици (Виж раздела "Езикът HTML"). Скриптовият език заема средно положение между мета-езиците като HTML и езиците за програмиране като C, C++ и Java. Предназначението на език като HTML е да създаде стилова представа за документ и връзки към други документи. Класическите езици за програмира дефинират набор от инструкции за изпълнение от компютърната система. Скриптовите езици принадлежат към една междинна категория.
Използваните понастоящен скриптови езици в Интернет са Javascript, въведен от Netscape и VB Script, въведен от Microsoft. Правилата и синтаксиса при тези езици са упростени и не толкова строги. Формираният програмен код се вмъква непосредствено в първичен вид в текста на HTML кода за интерпретиране от браузърите. Двата езика са несъвместими и браузърите на двете софтуерни компании поддържат нееднакви множества на реципрочния език, което създава доста главоболия на Web дизайнерите. По Интернет може да се намери информация за съвместимите средства в двата езика. Характерно за VB Script е, че притежава прости и лесни за усвояване изразни средства, като подмножество на езика Visual Basic, но и възможностите му са по-ограничени в сравнение с тези на Javascript. Езикът е обектно-ориентиран, изисква определена предварителна подготовка в програмирането, но е предпочитан от по-напредналите заради по-гъвкавата си структура, изразни средства и възможности.
Изпълними обекти
Изпълними обекти могат да се вграждат в HTML страници. Зареждането им става по подобен на един графичен обект начин и се изпълняват автоматично. Обекти, които се зареждат със страницата и се изпълняват автоматично са два типа:
Използването на тези обекти обогатява статичните страници с по-атрактивни и диалогови елементи. Спомагат за изграждане на функционален потребителски интерфейс от страната на клиента без да се претоварва за това сървъра. Създават условия за боравене с нестандартни за Web технологията обекти и формати.
Мултиплатформения модел е една стара идея, която получи живот с появата и развитието на на езика Java. Един аплет на Java може да се изпълнява на различни компютърни платформи без да е необходимо да бъде прекомпилиран, което е задължително за приложения написани на език като C или C++.
Изпълнението на външни програми, заредени по мрежата при клиента, поставя въпроси относно сигурността. При изпълнението на аплет от клиентски браузър този въпрос се решава със средствата на самия език.
Active X не е мултиплатформен модел и е тясно свързан с технологията
OLE
в среда Microsoft Windows. За разлика от аплетите на Java Active X е приложим
само в среда Windows. В зависимост от гледната точка, това може да се третира
като сериозен недостатък и същевременно като предимство. Предимство е факта,
че всички инструментални срества за развитие под Windows поддържат Active
X, с което преминаването към Web технология става по-естествено. Непосредствено
може да се интегрира съдържанието на една таблица от Excel в HTML страница,
което важи и за други Windows компоненти. Един компонент на Active X, за
разлика от аплет на Java, се зарежда еднократно на твърдия диск при клиента
и при следващо извикване не се зарежда от сървъра, с което се печели време,
но възникват проблеми по отношение на сигурността.
Plug-ins
Допълнителните програмни модули, инсталирани към всеки Web браузър
за обработка на определени текстови, графични, звукови, видео и други видове
формати се наричат plug-ins. Те са в състояние да подпомогнат разнообразяването
на HTML страниците, но не се вписват в технологията на универсалния клиент-сървър.
Те са специфични за всеки браузър и съответната платформа и не са предназначени
да обменят информация със сървъра.