Во второй главе описываются вопросы взаимодействия пользователя с информационным сервером типа HTTP, интерфейса CGI и вопросы взаимодействия трехуровневой схемы: HTTP-сервер — приложение — база данных. Проведён анализ особенностей отладки CGI-приложений.
Также рассмотрены диаграммы UML, использовавшиеся при проектировании подсистемы.
Интерфейс CGI. Вопросы взаимодействия внешних прикладных программ с информационным сервером HTTP
Введение
в технологию WWW
WWW (World Wide Web) представляет собой клиент-серверную технологию, основанную на прикладном протоколе HTTP (HyperText Transfer Protocol). HTTP — это протокол высокого уровня (а именно, уровня приложений), обеспечивающий необходимую скорость передачи данных, требующуюся для распределенных информационных систем гипермедиа. HTTP используется проектом World Wide Web с 1990 года.
В HTTP имеются два типа сообщений: запросы от клиента (браузера) к серверу и ответы сервера клиенту. Для передачи сообщений используется протокол TCP (Transfer Control Protocol) и стандартный порт HTTP-сервера — 80. Запрос содержит URL (Uniform Resource Locator) — идентификатор ресурса (документа), который хотел бы получить клиент и несколько вспомогательных заголовков.
Предполагается, что в ответ на запрос, сервер, проанализировав требуемый URL, предоставит клиенту искомую информацию, называемую контентом. В простейшем случае это документ HTML (HyperText Markup Language) или файл в другом формате, однако контент может генерироваться сервером «на лету», например может быть вызвана сторонняя программа и ее вывод принят в качестве контента. Чтобы браузер правильно определил тип информации, содержащейся в контенте, и, соответственно, применил адекватный способ представления этой информации пользователю, контент сопровождается заголовком Content Туре, в котором указывается MIME-тип данных.
Динамическая генерация контента позволяет пользователю интерактивно взаимодействовать с WWW-сервером. Типичным примером этого процесса является работа с поисковым сервером, где пользователь указывает строку поиска, которая и является параметром запроса. Сервер производит поиск строки в базе данных и формирует HTML-страницу, содержащую результаты поиска.
Пользователь задает параметры запроса путем заполнения и отправки HTML-форм. Формы содержат поля ввода текстовой информации, радиокнопки, выпадающие списки и т. п.
Никакой HTTP-сервер не может предусмотреть всего разнообразия интерактивных WWW приложений. Вместо этого HTTP-сервер предлагает разработчику интерфейс CGI, используя который сторонняя программа может получить от HTTP-сервера все необходимые для обработки запроса данные, а в ответ сгенерировать контент, который будет возвращен сервером браузеру [5]. Таким образом, задача генерации контента возлагается на приложения, разрабатываемые для конкретной задачи.