From OpenSCADAWiki
Jump to: navigation, search

Общий сценарий запроса пользовательской страницы:

  • Внешняя сетевая станция формирует HTTP запрос с URI вида "/WebUser/{UserPage}", который попадает на транспорт OpenSCADA с значением поля конфигурации "Протокол", равного "HTTP".
  • Транспорт направляет запрос на модуль транспортного протокола "Protocol.HTTP".
  • Модуль транспортного протокола, согласно первого элемента URI, направляет запрос данному модулю.
  • Данный модуль выбирает объект страницы пользователя, которая указана во втором элементе URI.
  • Выполняется инициализация переменных HTTP-протокола для процедуры страницы:
    • HTTPreq — устанавливается в значение строки "GET" или "POST", в зависимости от типа запроса;
    • url — адрес запрашиваемого ресурса (URI);
    • page — входное одиночное содержимое и передаваемая страница, для метода "POST";
    • sender — адрес отправителя запроса;
    • user — идентификатор аутентифицированного пользователя, если аутентификация имела место;
    • HTTPvars — разобранный перечень переменных протокола HTTP в виде свойств объекта;
    • URLprms — разобранный перечень параметров URL в виде свойств объекта;
    • cnts — разобранные элементы содержимого для POST, в Array<XMLNodeObj>, с содержимым элементов в тексте и свойствами, в атрибутах XMLNodeObj.
  • Вызов процедуры на исполнение, которая, обработав запрос, формирует содержимое страницы в "page" и результат запроса в "rez".
  • В завершение формируется ответ с кодом возврата HTTP из "rez" и содержимым из "page", а также изменёнными и добавленными переменными протокола HTTP из "HTTPvars".