Стандарты, облегчающие создание Web-узлов
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Трудности Web-дизайнеров ныне не ограничиваются написанием программ на JavaScript, подключающих пользователей к версиям одного и того же узла для браузера Netscape или Microsoft. Пользователи мобильных вычислительных устройств (например, персональных цифровых помощников), также получившие доступ к Web, нуждаются в наличии быстро работающих текстовых версий узлов, в то время как разработчики стараются создавать богатые графикой Web-страницы, быстро отображаемые лишь при наличии скоростных каналов.

Web-дизайнерам остается лишь надеяться, что одна из организаций, занимающихся установлением стандартов, например Консорциум World Wide Web (W3C), предложит способ, благодаря которому не придется создавать отдельных версий Web-узлов для каждого типа клиентов.

Между тем стандарт прозрачного выбора типа информационного наполнения существует, причем еще с 1989 года. Проблема в том, что полностью его не поддерживает почти ни один Web-сервер.

Функция выбора типа информационного наполнения является частью протокола HTTP. Она же используется для отправки пользователям загружаемых шрифтов, предусмотренных спецификацией Cascading Style Sheets 2.0.

Известны лишь два Web-сервера, полностью поддерживающих эту функцию, - Apache и Jigsaw. В частности, функция выбора типа информационного наполнения используется на Web-узле для локализации: сервер автоматически устанавливает язык текста согласно данным, полученным от браузера пользователя. Узел поддерживает несколько языков, но не содержит ссылок для выбора одного из них, поскольку этого не требуется.

Web-технологии.

HTML-страницы системы World Wide Web бывают динамические и статические. Средства, наращивающие функциональные возможности Web и позволяющие создавать динамические HTML-страницы, подразделяются на расширения серверной части и расширения клиентской части. Расширения серверной части – это программы, позволяющие повысить функциональность Web-серверов. Расширения клиентской части – это программы, позволяющие наращивать функциональные возможности браузеров. Расширения серверной части можно подразделить на следующие три категории:

· Расширения, использующие обычный CGI. Common Gateway Interface (общий шлюзовой интерфейс), или CGI, был первым интерфейсом, позволившим создавать приложения, наращивающие функциональность Web-серверов. CGI-программы обладают наибольшей переносимостью между Web-серверами. Сервер общается с CGI-приложением через стандартные ввод и вывод операционной системы, а также переменные окружения. CGI-программы могут быть написаны на любом языке программирования, вплоть до языка командного интерпретатора операционной системы. Недостатком CGI является необходимость загружать при каждом запросе большую программу, что может привести к истощению ресурсов сервера и происходит достаточно медленно.

· Расширения, использующие гибридный CGI. Использование гибридного CGI позволяет сохранить свойственную CGI переносимость, избавившись от присущих ему недостатков. Идея заключается в использование маленькой CGI-программы и некоторого процесса-партнера. CGI-программа получает данные от Web-сервера и передает их процессу-партнеру, который выполняет всю обработку. Процесс-партнер (например, демон в UNIX) загружается один раз при загрузке операционной системы и общается с CGI-программой при помощи межпроцессных коммуникаций.

· Расширения, использующие API. В настоящее время широкое распространение получили Web-сервера, предоставляющие программам-расширениям сервера специальные API-интерфейсы. Программы-расширения, использующие API, должны быть созданы в виде разделяемых библиотек (например, DLL, Dynamic Link Library в среде Windows). Они исполняются в адресном пространстве Web-сервера. Очевидно, что расширения такого типа значительно экономнее по отношению к системным ресурсам, чем CGI-программы. Недостатками этого способа являются его небезопасность (ошибка в такой программе может привести к выходу из строя всего сервера) и низкая переносимость API-приложений между разными Web-серверами (т.к. разные сервера могут использовать разные API). Наиболее распространенными API-интерфейсами Web-серверов являются NSAPI фирмы Netscape и ISAPI компании Microsoft.

Ниже представлен список Web-серверов разных фирм-производителей.

 

ServerWatch и WebCompare

Netcraft Web Server Survey

Russian Web Survey

Apache http://www.apache.org

Russian Apache

AOL Server

Alibaba

Amiga Web Server

Boa

CERN httpd

Common Lisp Hypermedia Server

EMWAC HTTP server

GoServe

Internet Connection Secure Servers http://www.icss.raleigh.ibm./icsserver/.

Java Web Server

JAWS Adaptive Web Server

Jigsaw http://www.w3.org

Lotus Domino Web Server http://www.lotus.com.

MacHTTP

Internet Information Server http://www.microsoft.com/iis.

NCSA HTTPD

Netscape FastTrack http://www.netscape.com.

Netscape Enterprise http://www.netscape.com.

Novell Web Server http://www.novell.com.

Open Market Web Server

Oracle Web Application Server

Phttpd

Plexus

Purveyor WebServers

Roxen Challenger

RushHour

Sky Light

Stronghold

thttpd

The NetPublisher Server

Web-серверы для Macintosh

Web Commander http://www.luckman.com.

Web Server4D

WebSite Professoinal http://software.ora.com.

WebStar http://www.starnine.com.

WebQuest Web Server

ZBServer

Zeus Server

 

Рассмотрим более подробно наиболее популярные из них.

Web-сервер Apache.

Этот Web-сервер является самым распространенным в мире среди серверов для операционной системы Unix. Причин такой популярности много. Прежде всего, это возможность свободно получить его как с основного сервера проекта Apache, так и с «зеркал», расположенных во многих странах мира, в том числе и России. Имеется подробная документация по настройке и администрированию, включая FAQ. В рамках данного проекта ведется подробный учет и исправление найденных ошибок, чему посвящено несколько страниц сервера. Многие разработчики модифицируют код Apache, внося дополнительные функции, и предлагают для свободного распространения свои разработки. В частности, имеются версии Apache, в которые добавлены функции по работе с русскоязычными документами с учетом различных кодировок кириллицы.


      Russian Apache это программный продукт, за основу которого был взят популярный HTTP-сервер Apache. К нему была добавлена функциональность, необходимая для корректной поддержки нескольких кодировок кириллицы одновременно, что потребовало внесени добавлений в основной код Apache.

 


Web-сервер Jigsaw.

Увеличение значимости технологии Java в области серверного ПО подготовил почву для появления Web-сервера на этом языке. Продукт, созданный совместными усилиями ряда разработчиков, носит название Jigsaw. В создании сервера приняли участие десятки ученых – специалистов повычислительной технике, связанных с консорциумом World Wide Web Consortium и с Массачусетским технологическим институтом Он относится к категории свободно распространяемого программного обеспечения. Хотя Jigsaw 2.0 и представляет собой полнофункциональный Web-сервер, его основная цель – показать в действии такие высокоэффективные серверные технологии, как HTTP 1.1, сервлеты и распределенные публикации, которые столь активно пытается пропагандировать W3C.

Jigsaw – сервер, полностью написанный на Java. Это поможет ускорить его установку на таких операционных системах, как Windows 95, NT, OS/2 и Solaris. По этой же причине он обладает следующими характеристиками:

· Расширяемость

· Мобильность

· Объектно-ориентированная разработка

Jigsaw будет работать на любой платформе, поддерживающей Java, без изменений; он состоит из ядра и модулей расширения, можно добавлять и свои собственные модули. При написании кода применен объектно-ориентированный подход – все ресурсы являются объектами. В противовес большинству существующих серверов, которые рассматривают ресурсы либо как CGI-скрипты, либо как файлы, Jigsaw допускает доступ к любому объекту через HTTP или другой допустимый протокол.

Цель Jigsaw – продемонстрировать новые возможности протоколов (таких, как HTTP/1.1.или PISC) и обеспечить платформу для экспериментирования в области серверного программного обеспечения. Java обладает возможностями, облегчающими решение этой задачи. Переносимость Java-кода может быть использована в будущих экспериментах с концепцией мобильного кода.

Среди самых интересных возможностей сервера можно назвать сервлеты Java – приложения, которые исполняются на сервере, а результат их работы отображается на настольном компьютере. Поскольку сервлеты сохраняют пользовательское соединение с сервером, администраторы узлов могут опросить посетителей, предоставить им динамический доступ к базе данных и позволить совместно работать с документами.

Кроме того, Jigsaw 2.0 активно использует HTTP 1.1 – стандарт, который теперь поддерживает проблемная группа Internet Engineering Task Force. Сейчас браузеры отключаются, ожидая ответа на серверные запросы. HTTP 1.1 позволяет одновременно обрабатывать несколько серверных запросов. HTTP 1.1 может поддерживать подготовку Web-публикаций, предоставляя пользователям возможность редактировать файлы через свои браузеры так, что их исправления не перекрываются друг с другом.

Кроме того, определенные усилия в направлении использования технологии Java на серверной стороне предпринимает группа разработчиков Apache Group.

Будущий дополнительный модуль сервера Apache, о котором идет речь, свяжет между собой HTTP-сервер Apache и виртуальную Java-машину, так что пользователи смогут запускать любые серверные приложения, основанные на интерфейсе прикладного программирования Servlet API. Таким образом, Java сможет превратиться в серверный язык программирования, что позволит свести к минимуму проблемы с производительностью клиентских Java-приложений. Кроме того, этот модуль сможет выполнять функции связующего ПО, объединяющего продукты различных разработчиков, считают создатели Apache.

 

Дата: 2019-04-23, просмотров: 201.