English Version
Українська версія
| Модуль: | HTTP |
| Имя: | HTTP |
| Тип: | Протокол |
| Источник: | prot_HTTP.so |
| Версия: | 1.4.0 |
| Автор: | Роман Савоченко |
| Описание: | Предоставляет поддержку протокола HTTP для WWW-основанных пользовательских интерфейсов. |
| Лицензия: | GPL |
Модуль транспортного протокола HTTP предназначен для реализации поддержки сетевого протокола HTTP(Hypertext Transfer Protocol) в системе OpenSCADA.
Протокол HTTP используется для передачи содержимого WWW. Так, через HTTP передаются следующие типы документов: html, xhtml, png, java и многие другие. Добавление поддержки HTTP в систему OpenSCADA в комплексе с транспортом Sockets позволяет реализовывать различные пользовательские функции на основе WWW интерфейса. По состоянию на версию 1.3.0 модуль HTTP реализует два основных метода протокола HTTP: GET и POST. Модуль HTTP обеспечивает контроль целостности HTTP-запросов и, в согласии с транспортом Sockets, позволяет “собирать” целостные запросы из их фрагментов, а также обеспечивать сохранение соединения живым (Keep-Alive).
Для гибкого подключения пользовательских интерфейсов к данному модулю используется модульный механизм в рамках самого модуля HTTP. В роли модулей используются модули подсистемы “Пользовательские интерфейсы” с дополнительным информационным полем “ имеющим значение “WWW”.
В запросах к Web ресурсам принято использовать URL(Universal Resource Locator), следовательно URL передаётся как основной параметр через HTTP. Первый элемент запрашиваемого URL используется для идентификации модуля UI. Например URL: http://localhost:10002/WebCfg означает обращение к модулю WebCfg на хосте http://localhost:10002. В случае ошибочного указания идентификатора модуля или при обращении вообще без идентификатора модуля HTTP модуль генерирует диалог информации о входе и с выбором одного из доступных пользовательских интерфейсов. Пример диалога показан на рисунке 1. Модулем поддерживается аутентификация в системе OpenSCADA при предоставлении авторизированного доступа к модулям WEB-интерфейсов (рис.2). Диалог формируется на языке XHTML 1.0 Transitional!


Модули пользовательского интерфейса (UI), предназначенные для совместной работы с модулем HTTP, должны устанавливать информационное поле “ значением “WWW” и поле "Auth" значением "1", если модуль требует аутентификации при входе. Для связи модуля HTTP и модулей UI используется расширенный механизм коммуникации. Этот механизм подразумевает экспорт интерфейсных функций. В данном случае UI модули должны экспортировать функции:
Далее в случае поступления HTTP запроса GET будет вызываться функция HttpGet, а в случае запроса POST будет вызываться функция HttpPost в соответствующем модуле UI.