Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI, установка серверов Web для Windows© Александр Фролов, Григорий ФроловТом 29, М.: Диалог-МИФИ, 1997, 288 стр. Как работает сервер WWWСервер WWW хранит в своих каталогах текстовые файлы страниц, которые посылаются удаленным пользователям, а также все другие файлы, на которые есть ссылки в страницах (например, файлы с графическими изображениями). Текстовые файлы страниц готовятся с использованием специального языка разметки гипертекста HTML (Hyper Text Markup Language). Этот язык будет предметом подробного изучения в нашей книге. Напомним также, что введение в язык HTML вы можете найти в 23 томе “Библиотеки системного программиста”, который называется “Глобальные сети компьютеров. Практическое введение в Internet, e-mail, FTP, WWW и HTML, программирование для Windows Sockets”. Соединение с сервером WWWПользователь устанавливает соединение с сервером WWW через сеть Internet с помощью специальной программы просмотра страниц WWW. Среди наиболее известных программ просмотра страниц WWW можно выделить навигаторы Netscape Navigator и Microsoft Internet Explorer. В литературе такие программы часто называются браузерами, но мы будем избегать этого термина, образовавшегося в результате транслитерации слова browser. При установке соединения пользователь указывает адрес сервера WWW. Дополнительно он может указать путь к файлу страницы WWW (адрес страницы WWW), которая должна быть отображена сразу после подключения к серверу. Об адресах страниц мы поговорим позже. Если путь к файлу страниц не указан, сервер WWW посылает клиенту (то есть пользователю) страницу (документ HTML), которая отображается по умолчанию, либо список всех имеющихся в главном каталоге сервера WWW страниц и каталогов. Полученная текстовая страница (составленная на языке HTML) интерпретируется навигатором и отображается в окне последнего. Затем соединение с сервером разрывается. Если на странице есть графические изображения, навигатор повторно устанавливает соединение с сервером, получая от него файлы графических изображений. При получении каждого такого файла соединение сначала устанавливается, а затем разрывается. Упрощенно процесс взаимодействия навигатора и сервера WWW показан на рис. 1.2. Рис. 1.2. Взаимодействие навигатора и сервера WWW Помимо адреса, навигатор может посылать в сервер WWW дополнительную информацию, введенную пользователем. Такая информация может быть обработана сервером WWW (точнее говоря, его расширением). Результат обработки отсылается пользователю обратно в виде страницы HTML. Подробнее об этом вы узнаете из главы нашей книги, посвященной созданию динамических страниц HTML. Статические и динамические документы HTMLСервер WWW способен не только хранить статическую информацию, но и взаимодействовать с удаленным пользователем в интерактивном режиме. При этом пользователь может заполнить какую-либо форму, содержащую поля для ввода цифровой или символьной информации, и передать ее серверу (просто нажав на определенную кнопку, расположенную в форме). Сервер, получив данные из полей формы, запустит созданное специально для этой формы программное расширение, которое обработает полученные данные, динамически сформирует документ HTML и возвратит его пользователю. Данная схема не накладывает никаких ограничений на вид выполняемой обработки или на вид сформированного динамически документа HTML. Поэтому сервер WWW может быть использован для решения практически любых задач, требующих обработки данных, полученных от удаленного пользователя. Документы HTML, которые создаются описанным выше образом, называются динамическими документами. Сервер WWW, содержащий наряду со статическими динамические документы, часто называют активным. В нашей книге мы подробно рассмотрим создание активных серверов WWW с использованием программных расширений сервера WWW - приложений CGI и ISAPI (соответственно, в седьмой и восьмой главах). Связь сервера WWW с СУБДПриложения CGI и ISAPI позволяют организовать связь между документами HTML и системами управления базами данных (СУБД). В результате вы можете создавать формы, предназначенные для выполнения обращений к базам данных (запросов, обновлений и так далее). Данные, полученные через запросную форму, предаются программному расширению CGI или ISAPI Это расширение может обратиться к СУБД через интерфейс ODBC или через интерфейс этой СУБД, а результат запроса оформить в виде документа HTML и вернуть удаленному пользователю. Корпорация Microsoft также предлагает удобные средства, позволяющие организовать взаимодействие между сервером WWW и сервером СУБД без программирования. Возможно, мы рассмотрим эти средства в одной из наших следующих книг. Органы управления ActiveXЯзык HTML, хотя и позволяет создавать достаточно красивые страницы, обладает ограниченными возможностями. В некоторых случаях требуется обрабатывать содержимое локальных файлов, отображать данные в графическом виде или выполнять другую нетривиальную работу. Создав орган управления ActiveX и расположив его на сервере WWW, вы можете сделать ссылку на этот орган в документе HTML. При этом окно органа управления появится в документе HTML, а содержимое окна будет полностью определяться самим органом управления ActiveX. Что такое орган управления ActibeX? Орган управления ActiveX является объектом OCX, реализующим некоторое подмножество технологии OLE и сделанном как библиотека DLL. Система разработки программ Microsoft Visual C++ версии 4.2 позволяет создавать заготовки для органов управления ActiveX автоматически. Вам достаточно наделить созданную заготовку теми возможностями, которые требуются для решения ваших специфических задач. Внешне орган ActiveX выглядит как окно, размер которого задается в документе HTML. Содержимое этого окна определяется написанным вами программным кодом, поэтому в нем может быть изображено все что угодно. Код ActiveX загружается из сервера WWW в адресное пространство уделенного компьютера и потому имеет доступ ко всем его ресурсам. Это позволяет организовать достаточно сложные алгоритмы обработки и отображения любых локальных данных, что невозможно при использовании одних только программных расширений CGI или ISAPI. Заметим, что органы управления ActiveX представляют собой потенциальную угрозу, так как они могут быть использованы для распространения вирусов или выполнения каких-либо разрушительных действий в компьютере удаленного пользователя. Для уменьшения угрозы корпорация Microsoft предусмотрела систему сертификации органов управления ActiveX. Когда пользователь попадает на страницу сервера WWW, содержащую ссылку на такой орган управления, ему на экран выдается изображение сертификата фирмы-разработчика. Если пользователь доверяет фирме и сертификату, он может согласиться на загрузку и запуск органа управления ActiveX, если нет - есть возможность отказаться от загрузки. Однако беспечные пользователи могут проигнорировать предупреждающее сообщение и стать жертвой злонамеренных разработчиков. Тем не менее, органы управления ActiveX очень удобны для использования на серверах корпоративных сетей Intranet, не имеющих подключения к сети Internet. В этом случае угроза вирусного заражения от органа управления ActiveX невелика, так как все такие органы разработаны в корпорации и их использование может контролироваться администратором сервера. В нашей книге мы не будем рассматривать создание органов управления ActiveX, так как этот материал заслуживает отдельной книги. Языки программирования Java, JavaScript и VBScriptЯзык программирования Java был разработан фирмой Sun как платформно-независимый интерпретируемый объектно-ориентированныя язык. Этот язык был разработан на основе языка программирования С++. Вы можете создать программы Java и разместить ссылки на них в документах HTML. Такие программы являются подмножеством программ Java и называются аплетами (applets). Программы Java, расположенные на сервере WWW, также как и органы управления ActiveX обладают большими возможностями по обработке и отображению данных, однако они более безопасны, так как не могут выполнять запись в локальные файлы. Кроме того, эти программы проще в разработке по сравнению с органами управления ActiveX и потому доступны более широкому кругу разработчиков. Для создания программ Java вам нужны такие средства разработки, как Java Development Kit (JDK) от фирмы Sun, SDK-Java или Visual J++ от фирмы Microsoft. Исходный текст программ, составленных на языке программирования JavaScript или VBScript вставляется непосредственно в документ HTML, поэтому для их разработки не нужны специальные средства (исключая, возможно, отладчик). Интерпретатор языка JavaScript и VBScript встроен непосредственно в навигатор Microsoft Internet Explorer (навигатор Netscape Navigator не работает с языком VBScript). В дальнейшем мы планируем выпустить книгу, посвященную языкам программирования Java и JavaScript, получающими все большую популярность. |