- •1. Технологии публикации баз данных
- •1.1. Сценарии JavaScript, jScript и vbScript
- •1.2. Элементы управления ActiveX
- •1.3. Апплеты и сервлеты Java
- •1.4. Интерфейсы cgi и WinCgi
- •1.5. Интерфейсы isapi/nsapi
- •1.6. Asp, php и idc/htx-страницы
- •1.7. Формирование Web-страниц
- •1.9. Статическая публикация бд
- •1.8. Интерфейсы ole db, ado, odbc
- •1.10. Динамическая публикация бд
- •1.12. Протоколы передачи данных
- •1.13. Универсальный указатель ресурсов
- •3. Расширяемый язык разметки xml
- •3.1. Составляющие xml-документа
- •3.2. Информационные объекты
- •3.3. Определение типа документа
- •3.4. Xml как средство обмена данными
- •4. Программа xml Mapper
1.12. Протоколы передачи данных
В сети Интернет могут использоваться различные платформы и Web-серверы: для операционной системы Windows NT и Windows 2000 — это Microsoft Internet Information Server (MS IIS), для UNIX — Apache Server (этот сервер распространяется в исходных кодах, поэтому после перекомпиляции может выполняться и в других операционных системах), а для Windows 98 — Microsoft Personal Web Server.
Запросы от браузера поступают на Web-сервер в соответствии с установленным протоколом обмена, например, HTTP. Вообще в сети Интернет поддерживается более десятка протоколов. Протокол HTTP является одним из самых распространенных и предназначен для передачи данных различных форматов между браузером и Web-сервером. Соединение между компьютером-отправителем и компьютером-получателем осуществляется с помощью протокола низкого уровня TCP/IP (Transport Control Protocol/Internet Protocol — протокол управления передачей/протокол Интернет).
Протокол TCP/IP представляет собой универсальный платформо-независимый протокол передачи данных по сети. За физическую передачу данных отвечает протокол IP. TCP представляет собой протокол более высокого уровня. Он разбивает в компьютере-отправителе файлы на пакеты, добавляет в каждый из них адрес получателя и порядковый номер пакета в группе пакетов. В компьютере-получателе протокол TCP собирает файлы из пакетов, проверяет их целостность и при необходимости посылает запрос на повторную трансляцию.
При отправке серверу HTTP-запроса на формирование динамической страницы, содержащей отчет из БД, сервер включает в работу модули расширения. Взаимодействие Web-сервера и модуля расширения основывается на интерфейсах CGI или API. Модуль расширения получает запрос и обрабатывает его, формируя ответ (обычно Web-страницу).
1.13. Универсальный указатель ресурсов
Браузер формирует запрос на получение нужной страницы с помощью универсального указателя ресурса — URL (Universal Resource Locator). Для загрузки требуемой страницы в окне браузера указывается строка адреса. Загрузку требуемого документа можно осуществить и из Web-документа с помощью специальных тегов.
Приведем структуру URL для протокола HTTP:
http: //<хост>/<порт>:<путь>?<поиск>
Здесь:
http — имя протокола, используемого для доступа к ресурсу;
<хост> — имя домена, используемое для поиска требуемого Web-узла в Интернете;
<порт> — номер порта, который задает номер логического канала связи в Интернете;
<путь> — локальный путь к файлу;
<поиск> — дополнительные параметры запроса.
В браузерах используются следующие два типа адресов указателей:
Абсолютные указатели задают адрес, полностью определяющий компьютер, каталог и файл. В отличие от относительных, абсолютные адреса могут ссылаться на файлы, расположенные на других компьютерах.
Относительные указатели используются для получения доступа к файлу, расположенному на том же компьютере, что и документ, в котором находится указатель на этот файл. Например, если браузер загрузил страницу, находящуюся по адресу http://myweb, то при задании относительного адреса /mу реальный адрес будет http://myweb/my. Относительные адреса удобны при использовании в пределах одного компьютера.
Основу Web-приложений составляет совокупность Web-документов и различных шаблонов, использующих формат языка HTML или его обобщений. В связи с этим для разработки Web-приложений прежде всего необходимо знание HTML. Ниже рассматриваются конструкции языков HTML и XML, которые используются для разработки Web-приложений, публикующих БД в Интернете.
