В модулях CommuniGate Pro HTTP Admin и HTTP-User реализован протокол HTTP для сетей TCP/IP.

Модуль HTTP-Admin:

  • обеспечивает доступ к страницам веб-интерфейса администрирования сервером.

  • обеспечивает доступ к страницам веб-интерфейса администрирования домена.

HTTP-User модуль:

  • обеспечивает доступ через веб-интерфейс пользователя ко всем данным пользователя и к архивам списков рассылки.

  • обеспечивает работу протокола AirSync.

  • обеспечивает HTTP привязку для XIMSS-интерфейса.

  • обеспечивает доступ к хранилищу файлов пользователя.

  • обеспечивает доступ к интерфейсу Parlay X.

  • обеспечивает работу протоколов семейства WebDAV (доступ к файлам, CalDAV, CardDAV и т.д.) и метода доступа публикация / подписка к данным календаря и заданиям.

  • обеспечивает доступ к общему интерфейсу шлюза (CGI-программам).

  • обеспечивает доступ к CG/PL веб-приложениям.

  • обеспечивает доступ к CLI/API.

  • используется для реализации протокола «Autodiscover» от Microsoft и автонастроек Mozilla Thunderbird.

HTTP-модули CommuniGate Pro поддерживают различные методы аутентификации пользователей, включая аутентификацию через GSSAPI, Kerberos и по сертификату, обеспечивая единый механизм входа пользователя.

Модуль HTTP-User также реализует клиентскую часть протокола HTTP. Это используется для посылки запросов HTTP удалённому серверу и получения ответов.

Веб-интерфейс администратора сервера

Администратор сервера может использовать любой веб-браузер, работающий с веб (HTML) формами для удалённой настройки и наблюдения за сервером.

Применяемая схема аутентификации через HTTP-протокол защищает от неавторизованного доступа к страницам веб-администрирования сервером. Чтобы получить доступ к страницам веб-администрирования, пользователь должен ввести своё имя и пароль в CommuniGate Pro и обладать соответствующими правами доступа к серверу.

По умолчанию, HTTP-Admin модуль принимает незашифрованные TCP/IP соединения на TCP-порт 8010 и безопасные(SSL/TLS) соединения на TCP-порт 9010.

Для получения доступа к страницам веб-аадминистрирования администратор сервера должен использовать следующие адреса:

http://domain.com:8010
https://domain.com:9010

где *domain.com * является либо именем главного домена сервера (псевдонимом главного домена), либо IP-адресом сервера CommuniGate Pro.

Если вы назначили все IP-адреса вашего Сервера и имена в DNS дополнительным доменам, то в результате такой ошибки при настройке сервера вы можете оказаться отрезанными от веб-интерфейса администратора сервера.

В этом случае, для получения доступа через веб-интерфейс администратора сервера используйте следующий URL:

http://sub.domain.com:8010/MainAdmin/https://sub.domain.com:9010/MainAdmin/

где sub.domain.com является любым именем, ссылающимся на ваш компьютер сервера или на любой из его IP-адресов.

Веб-интерфейс администратора домена

Если сервер CommuniGate Pro обслуживает несколько доменов, тот этот же порт может использоваться администраторами доменов для доступа к установкам доменов и спискам пользователей.

Администратор домена сервер должен использовать следующие адреса:

http://sub.domain.com:8010https://sub.domain.com:9010

где sub.domain.com является именем администрируемого домена.

Сервер запросит имя пользователя и пароль и, если пользователь с этим именем обладает правами доступа “администратор домена”, покажет список пользователей этого домена.

Иногда этот URL не может быть использован. Например, домен может не иметь A-записи в DNS (а иметь только MX-записи). Для получения доступа к такому домену администратор домена должен использовать следующий URL:

http://domain.com:8010/Admin/sub.domain.com/

где:

*domain.com *является либо именем главного домена сервера или его псевдонимом, либо IP-адресом сервера CommuniGate Pro.

sub.domain.com является именем требуемого домена.

Другие домены могут указать ваш домен в качестве домена администратора. На странице с установками домена приводится перечень этих доменов:

Вы можете войти в них через веб-интерфейс администратора домена, используя ссылки, имеющиеся на этой странице. Помните, что, если вы собираетесь использовать страницы веб-администрирования для другого домена, вы должны входить на сервер, используя ваше полное имя пользователя (вида yourAccountName@yourDomainName).

Веб-интерфейс пользователя

Пользователи CommuniGate Pro могут соединиться с сервером CommuniGate Pro через любой веб-браузер (по HTTP-протоколу) и изменять свои данные, просматривать свои папки, читать, копировать, удалять, перенаправлять и переадресовывать сообщения, передвигать сообщения между папками, создавать и передавать новые сообщения и т.д.
Этот компонент CommuniGate Pro называется веб-интерфейс пользователя.

Зарегистрированные пользователи и гости также могут использовать этот компонент для просмотра архивов списка рассылки.

По умолчанию модуль HTTP-User принимает незашифрованные TCP/IP соединения на TCP-порт 8100 и безопасные соединения на TCP-порт 9100. Если ваш сервер не должен работать совместно с каким-нибудь другим веб-сервером на одном компьютере, то рекомендуется изменить эти номера портов на 80 и 443 — стандартные номера для HTTP и HTTPS.
В этом случае ваши пользователи не должны будут явно указывать номер порта в своих браузерах.

Доступ к хранилище файлов пользователя

Пользователи CommuniGate Pro могу использовать своё хранилище файлов пользователя как персональный веб-сайт. Дополнительную информацию смотрите в разделе “хранилище файлов”.

URL на хранилище файлов (персональный веб-сайт) пользователя accountName@domainName имеет вид:

http://domainName:port/~accountName
https://domainName:port/~accountName

где port является одним из номеров портов модуля HTTP-User (по умолчанию 8100 и 9100).

Список файлов в хранилище файлов может получен по ссылке:

http://domainName:port/~accountName/index.wssp
https://domainName:port/~accountName/index.wssp

Эта же страница может быть использована для управления файлами пользователя в хранилище файлов. Изменения через неё могут делать сам пользователь, администраторы домена и другие пользователи, которым были даны права доступа к файлам.

Специальный документ «davmount» (RFC4709) может быть получен через следующие URL:

http://domainName:port/~accountName/davmount
https://domainName:port/~accountName/?davmount=1

Вы можете задать другой префикс для хранилища файлов, изменив соответствующие установки домена. Эта настройка может также быть пустой строкой и, в таком случае, для доступа к персональному веб-сайту будет использоваться следующий URL:

http://domainName:port/accountName/
https://domainName:port/accountName/

Вы можете также использовать маршрутизатор CommuniGate Pro для настройки доступа к персональным веб-сайтам с использованием URL, содержащего имена доменов. Дополнительную информацию смотрите ниже в разделе “маршрутизатор”.

Конфигурирование HTTP-модулей

Чтобы настроить параметры HTTP-модулей, используйте веб-интерфейс администратора. Откройте в области “установки” страницу “услуги”, затем откройте страницу “HTTPA (Admin)” или “HTTPU (User)”.

Уровень журнала

Используйте эту настройку, чтобы указать, какую информацию HTTP-модуль должен сохранять в журнале работы сервера. Обычно используется уровень “основные” или уровень “проблемы” (не фатальные ошибки). В случае, если в работе модуля HTTP возникают проблемы, возможно, целесообразным будет увеличить детализацию до уровня “подробности” или “всё”: в этом случае в журнал работы сервера будет записываться более подробная информация о работе модуля.
Записи, помещённые модулем HTTP-Admin в журнал работы сервера, имеют пометку “HTTPA”.
Записи, помещённые модулем HTTP User в журнал работы сервера, имеют пометку “HTTPU”.

 

Каналы

Эта настройка используется, чтобы ограничить число одновременных соединений, которое может принимать HTTP-модуль. Большинство браузеров открывают несколько соединений для загрузки HTML-страницы и находящихся на ней картинок, так что не устанавливайте это ограничение в значение менее 5, так как в таком случае некоторые браузеры не смогут загрузить находящиеся на странице графические объекты.

 

Приёмник

Используйте эту ссылку, что изменить настройки портов приёмников для HTTP-Admin или HTTP-User. Здесь вы можете указать номер(а) портов TCP, которые должны использоваться в этой услуге, используемый интерфейс и другие опции.

Если на компьютере, на котором запущен сервер CommuniGate Pro, одновременно функционирует другой веб-сервер, то вы должны указать номер порта в «добавочном диапазоне», чтобы избежать конфликтов с другим веб-сервером. Обычно «добавочные» веб-сервера используют номера портов в диапазон 8000-8100. Если вы используете номер порта 8010, то вы можете соединяться с вашим сервером вводя в веб-браузере адрес http://xxx.yyy.zzz:8010, где xxx.yyy.zzz является именем домена (А-записью) или IP-адресом вашего сервера.

 

Ограничение размера запроса

Эта настройка ограничивает максимальный размер HTTP-запроса, принимаемый сервером. Возможно, вы захотите увеличить этот лимит, если вам требуется разрешить пользователям загружать большие файлы и/или прикреплять большие файлы к сообщениям, созданным в веб-интерфейсе пользователя.

 

Поддерживать 'Keep-Alive'

Если эта опция включена, то CommuniGate Pro будет поддерживать протокол Keep-Alive и браузер пользователя сможет получать несколько файлов, используя одно HTTP-соединение. В некоторых браузерах это функция реализована некорректно и пользователи могут столкнуться с проблемами при включении этой функции.

 

Сжимать когда размер больше чем

Если ответ на запрос превышает значение этой опции, а клиент поддерживает компрессию данных, то ответ будет сжат перед отправкой клиенту.

 

Сканировать запросы превышающие лимит

Если эта опция выключена и размер полученного HTTP-запроса превышает заданное ограничение, то сервер отправляет ответ с ошибкой и закрывает соединение. Многие браузеры в таком случае не показывают ответ с ошибкой. Вместо этого они отображают стандартное сообщение типа «связь прервалась».
Если эта опция включена, то сервер отправляет обратно сообщение об ошибке, но получает полностью весь запрос (хотя и нигде его не сохраняет). В этом случае браузер пользователя покажет сообщение об ошибке.

 

Объявлять 'Basic'-аутентификацию, объявлять 'Digest'-аутентификацию,
Объявлять 'NTLM'-аутентификацию, объявлять 'Negotiate'-аутентификацию

Если эти опции включены, то сервер будет информировать браузеры о том, что можно использовать незашифрованные (Basic) или безопасные (Digest, NTLM, Negotiate / SNEGO) методы аутентификации. Если вы планируете работать через веб-интерфейс администратора через Интернет, используя незашифрованные соединения, возможно, вам потребуется включить эти опции. Разные браузеры могут вести себя различным образом при включении этих опций. Некоторые выведут сообщения об ошибке, некоторые будут в любом случае использовать незашифрованный (Basic) метод аутентификации, так что включайте эти опции только с осторожностью и только при необходимости. GSSAPI (Kerberos) методы аутентификации становятся доступными при включении опции Объявлять 'Negotiate'-аутентификацию.

 

Для каждого отправляемого объекта HTTP-модули устанавливают типы “MIME”. Для определения подходящего типа для обычных файлов, модуль использует расширение имени файла и следующую «базовую» встроенную таблицу:

Существует также «расширенная» встроенная таблица, которая отображается на странице веб-администрирования.

Вы можете создать свою собственную таблицу расширений, указав дополнительные расширения имён файлов и соответствующие им MIME-типы:

doc

application/msword

eml

message/rfc822

flv

video/x-flv

htm

text/html

js

text/javascript

jss

text/javascript

mov

video/quicktime

mp3

audio/mpeg

mpg

video/mpeg

pdf

application/pdf

Расширенная «встроенная» таблица показывается сразу под вашей собственной пользовательской таблицей.

При преобразовании расширения файла в MIME-тип, сначала проверяется пользовательская таблица, а затем встроенная таблица. Как следствие, вы можете переопределить значения встроенной таблицы значениями из пользовательской таблицы.

Маршрутизация

HTTP-модули используют маршрутизатор для обработки всех получаемых ими адресов. Но, в отличие от модулей доступа, HTTP-модули зачастую имеют дело не с полными адресами электронной почты, а только с именами доменов.

Когда модуль HTTP-Admin получает запрос, он использует имя или IP-адрес, указанный в URL, чтобы решить, какие страницы администрирования домена следует отображать.

Когда модуль HTTP-User получает запрос, он использует имя или IP-адрес, указанный в URL, чтобы решить, к какому домену (странице входа, спискам рассылки, хранилищу файлов и т.п.) ему следует предоставить доступ.

Чтобы использовать все возможности маршрутизации CommuniGate Pro (таблицу маршрутизации, псевдонимы, IP-адреса при отображении доменов и т.д.), HTTP-модуль формирует полный адрес электронной почтыLoginPage@domainname (гдеdomainname — имя домена, указанное в URL) и затем обрабатывает этот адрес в маршрутизаторе:

  • Если адрес LoginPage@domainname направляется в любой другой модуль, отличный от LOCAL, возвращается ошибка.

  • Если адрес LoginPage@domainname направляется в модуль LOCAL и локальная часть результирующего адреса остаётся LoginPage, то для открытия соответствующего домена CommuniGate Pro используется доменная часть результирующего адреса.

  • Если адрес направляется в модуль LOCAL, но результирующее имя пользователя не является LoginPage, то открывается хранилище файлов пользователя с таким именем. Если результирующий адрес имеет локальную часть, то открывается поддиректория с таким именем в хранилище файлов.

Примеры (записи в маршрутизаторе, domainA.com является доменом CommuniGate Pro):

mail2.domain.com = domainA.com

При использовании URL http://mail2.domain.com/ адрес LoginPage@mail2.domain.com направляется в адрес LoginPage@domainA.com, и открывается веб-интерфейс для домена domainA.com.

<LoginPage@mail2.domain.com> = user@domainA.com

При использовании URL http://mail2.domain.com/ адрес LoginPage@mail2.domain.com направляется на локального пользователя user@domainA.com, и открывается хранилище файлов пользователя user@domainA.com.

<LoginPage@mail2.domain.com> = subDir@user@domainA.com.domain

При использовании URL http://mail2.domain.com/ адрес LoginPage@mail2.domain.com направляется на локального пользователя user@domainA.com с локальной частью subDir, и открывается директория subDir в хранилище файлов пользователя user@domainA.com.

Веб-приложения

Модуль HTTP-User может запускать CG/PL веб-приложения.

Чтобы открыть страницу с настройками “модуль HTTP-User”, используйте веб-интерфейс администратора:

Компонента URI

Компонента URI (Universal Resource Location), после первого символа '/'.
Компонента может содержать символ звёздочки (*).

 

Веб-приложение

Имя запускаемого CG/PL веб-приложения. Каждый домен может содержать свою версию приложения.

 

Веб-приложения могут использоваться для расширения функциональности веб-интерфейса пользователя.

Веб-приложения используются для для реализации протокола «Autodiscover» от Microsoft и автонастроек Mozilla Thunderbird.

Общий интерфейс шлюза (CGI)

Модуль HTTP-User может запускать CGI-программы и скрипты. Для доступа к CGI-программам должен использоваться URL /cgi-bin/programName и программа programName должна находиться в CGI каталоге CommuniGate Pro.

Чтобы открыть страницу с настройками “модуль HTTP-User”, используйте веб-интерфейс администратора:

CGI-каталог

Введите имя каталога с файлами на сервере, в котором находятся ваши CGP программы. Если эта директория находится внутри директории данных CommuniGate Pro, то вы можете указать её относительное имя; в противном случае введите полный путь к этой директории. CGI-каталог не должен иметь поддиректорий.

 

Расширение имён файлов

Некоторые операционные системы (такие как Unix) могут исполнять различные программы / скрипты, автоматически запуская соответствующие интерпретаторы, тогда как другие операционные системы требуют, чтобы программа-интерпретатор запускалась явно. Сервер CommuniGate Pro поддерживает такие операционные системы, позволяя вам указать имя программы-интерпретатора для определённый расширений имён файлов. В результате, когда серверу CommuniGate Pro необходимо запустить программу или скрипт с заданным расширением, он формирует команду ОС, добавляя перед именем программы/скрипта указанное имя программы-интерпретатора.
В примере выше сервер будет обрабатывать URL /cgi-bin/script.pl исполняя

Perl.exe script.pl

команду операционной системы.

 

Поля HTTP-запросов

Используйте эту таблицу, чтобы указать пользовательские, нестандартные поля заголовков HTTP-запросов, которые вам необходимо передавать в CGI-программы. Если в запросе содержится строка заголовка с указанным именем поля, то эта строка передаётся CGI-программе как переменная среды с именем HTTP_H_convertedFieldName, где convertedFieldName является именем поля заглавными буквами, все символы минус (-) в котором заменены на символы подчёркивания (_).

 

CGI-программы могут использоваться для расширения функциональности веб-интерфейса пользователя. Они могут входить на сервер через его PWD-модуль, выполнять какие-нибудь CLI/API операции и / или входить на сервер через IMAP или XIMSS-модуль для доступа к папкам пользователя и изменению хранящихся в них данных. Для упрощения операция входа, CGI-программы могут использовать аутентификацию через SessionID.

Интерфейс командной строки (CLI / API)

Модуль HTTP-User обеспечивает доступ к серверу по интерфейсу командной строки (CLI/API) через область /CLI/.

Текстовый метод

Отправьте запрос GET или POST с параметром “command”. Значение параметра должно содержать команду CLI на исполнение.
Если обработка запроса оканчивается неуспешно, то код ошибки возвращается как строка с ошибкой HTTP-ответа.
Если запрос оканчивается успешно, то кодом HTTP-ответа будет 200.
Если запрос возвращает какие-либо данные, то текстовое представление объекта, содержащего результат, отправляется как тело HTTP-ответа.

Метод SOAP

Отправьте SOAP XML-запрос. Запрос должен иметь в точности один XML-элемент — команду “CLI” на исполнение.
Тег XML-элемента является тегом команды CLI.
Подэлементы XML-элемента являются XML-представлениями параметров объектов и / или элементами key. Текстовое тело элемента key является параметром команды CLI.

Пример:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<createAccount>
<param>newuser@domain.dom</param>
<param>TextMailbox</param>
<param>
<subKey key="RealName">John Doe</subKey>
<subKey key="Password">soappass</subKey>
</param>
</createAccount>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Этот запрос преобразовывается в:

createAccount "newuser@domain.dom" TextMailbox {RealName="John Doe"; Password="soappass";}

Если запрос возвращает данные, то их XML-представление добавляется в SOAP-ответ.

Пример:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<getAccount>
<param>newuser@domain.dom</param>
</getAccount>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Этот запрос преобразовывается в:

getAccount "newuser@domain.dom"

возвращается словарь данных:

{Password="\001xxxxx"; RealName="John Doe";}

Этот ответ отправляется в формате SOAP:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<response>
<object>
<subKey key="Password">\001fjh{\024hdfu</subKey>
<subKey key="RealName">SOAP Test</subKey>
</object>
</response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Клиент HTTP

Этот компонент используется для посылки запросов HTTP удалённому серверу и получения ответов. Он доступен в:

  • в функции HTTPCall среды CG/PL.

  • в операции retrieveURL протокола XIMSS.

Чтобы настроить общесерверные параметры работы клиента HTTP, используйте веб-интерфейс администратора. Откройте в области “установки” страницу “общее”, затем на странице “прочее” найдите панель “клиент HTTP”:

Уровень журнала

Используйте эту настройку, что бы указать, какую информацию HTTP-модуль должен сохранять в журнале работы сервера. Записи, помещённые модулем HTTP-Client в журнал работы сервера, имеют пометку “HTTPO”.

 

Кэш

Используйте эту настройку для указания количества соединений, которое будет оставаться открытым для увеличения производительности при отправке запросов на тот же удалённый сервер HTTP (такие запросы смогут использовать уже установленное соединение).

Модуль HTTP отправляет запросы с использованием указанной схемы http: или https: на указанный URL. Параметры функции передаются в виде необязательно словаря parameters, который может содержать следующие элементы:

 

method

Если этот элемент задан, то он должен содержать название метода HTTP (GET, MOVE и т.д.)
Если этот элемент отсутствует, то, если body не указано, используется метод HTTP GET, иначе (body указано) используется метод POST.

urlParams

Значение этого необязательного параметра должно быть словарём. Все его пары ключ-значение будут отправлены в виде параметров URL запроса HTTP.
Каждое значение словаря должно быть одиночным значением — строкой или числом, или массивом одиночных значений. Для значения в виде массива, параметр в URL задаётся для каждого элемента массива с использованием того же ключа словаря.

Content-Type, Content-Subtype

Эти необязательные элементы задают значение заголовка Content-Type запроса HTTP.

body

Если значение этого необязательного параметра задано словарём:

  • тело запроса HTTP формируется в виде «данных формы»

  • если элемент “method” задан, то его значение должно быть “POST”

  • если элемент “Content-Type” не задан, заголовок Content-Type запроса устанавливается в multipart/form-data.

  • если элемент “Content-Typ”e задан, то он должен быть multipart, иначе Content-Subtypeдолжен быть тоже указан со значением x-www-form-urlencoded.

  • если элемент “Content-Type” не задан или установлен в multipart, то тело запроса формируется согласно формату mutlipart/form-data, иначе используется формат x-www-form-urlencoded.

  • каждый словарь должен быть:

    • одиночным значением — строкой, числом, блоком данных, словарём

    • массивом одиночных значений

 

Для значения в виде массива, данные формы задаются для каждого элемента массива с использованием того же ключа словаря.
Если одиночным значением является словарь, используется его значение по пустому ключу (""). Если запрос использует формат mutlipart/form-data, то строковые значения словаря по ключам Content-Type, Content-Subtype, и (необязательно) charset используются для формирования поля заголовка Content-Type, а строка fileName (если задана) добавляется в поле заголовка Content-Disposition. Пример:
Элемент body:

{
field1 = "value1"; field2 = #145;
field3 = [YWJjYWJj]; field4 = ("value2",#777);
field5 = {"Content-Type"="image"; "Content-Subtype"="png"; "" = [shjhsjhkwuyuieyriuyuiyi];};
}

будет отправлен в запросе как

--_______________post-field_
Content-Disposition: form-data; name="field1"
value1
--_______________post-field_
Content-Disposition: form-data; name="field2"
145
--_______________post-field_
Content-Disposition: form-data; name="field3"
abcabc
--_______________post-field_
Content-Disposition: form-data; name="field4"
value2
--_______________post-field_
Content-Disposition: form-data; name="field4"
777
--_______________post-field_
Content-Disposition: form-data; name="field5"
Content-Type: image/png
binary data
--_______________post-field_--

Если значение этого необязательного параметра задано строкой:

  • строка копируется построчно в тело запроса

  • разделители строк (EOL) заменяются разделителями, принятыми в Internet (<carriage-return><line-feed>)

  • если элемент “Content-Type” не задан, заголовок Content-Type запроса устанавливается в text/plain.


Если значение этого необязательного параметра задано блоком данных:

  • эти данные используются в качестве тела запроса

  • если элемент “Content-Type” не задан, заголовок Content-Type запроса устанавливается в application/octet-stream.


Если значение этого необязательного параметра задано объектом XML:

  • текстовое представление объекта XML копируется в тело запроса.

  • если элемент “Content-Type” не задан, заголовок Content-Type запроса устанавливается в text/xml.

 

charset

Если этот необязательный элемент указан, он должен содержать название известной кодировки. Тело запроса будет перекодировано из UTF-8 в указанную кодировку, и параметр charset=charset_nameбудет добавлен в заголовок Content-Type. 
Если этот элемент задан пустой строкой, то параметр charset=charset_name в заголовок не добавляется. 
Если этот элемент не указан, параметр charset=utf-8 добавляется, но только когда тип содержимого - text.

closeConnection

Если элемент указан, модуль добавляет в заголовок поле Connection: close.

User-Agent

Если элемент указан, модуль добавляет его строковое значение в заголовок запроса в виде поля User-Agent. Если этот элемент задан пустой строкой, то это поле в заголовок не добавляется.

Cookie

Значение этого необязательного параметра должно быть строкой. Оно будет использовано как значение поля Cookie заголовка запроса.

If-Modified-Since

Этот необязательный элемент должен быть либо отметкой времени, либо строкой в формате даты-времени iCalendar. С помощью него устанавливается значение поля If-Modified-Since заголовка запроса HTTP.

responseFormat

Этот необязательный элемент указывает, как должен быть отформатирован ответ HTTP (смотрите ниже).

authName, authPassword

Эти необязательные элементы содержат данные аутентификации запроса HTTP.

timeout

Этот необязательный элемент должен быть числом или числовой строкой. Его значение задаёт тайм-аут для запроса HTTP. Время не должно превышать тайм-аут компоненты сервера, из которой производится вызов. 
Если этот элемент отсутствует, то используется максимально возможное значение.

redirectLimit

Этот необязательный элемент задаёт максимальное количество раз, которое модуль HTTP может перепосылать запрос на новый адрес при получении ответа с кодом 3xx. 
Если этот элемент не задан, модуль перепосылаеет запросы GET и HEAD до 3 раз, а другие запросы не перепосылает вовсе.

supplFields

Значение этого необязательного параметра может быть задано словарём. Ключи словаря указывают имена дополнительных полей заголовка запроса HTTP, а значения словаря (которые должны быть строками или массивами строк) указывают значения полей заголовка HTTP-запроса.

 

Модуль возвращает либо код ошибки, либо результат в виде словаря со следующими элементами:

responseCode

Численное значение кода ответа HTTP (200 для успешных операций, 300-399 для перенаправляющих ответов, которые модуль не смог отработать сам, 400-599 для неудачных операций).

responseText

Строка с информационной частью строки ответа HTTP.

Content-Type, Content-Subtype

Строки с типом и подтипом содержимого тела ответа.

charset

Строка с кодировкой тела ответа. Если этот элемент присутствует (указан в качестве параметра charset=charset_name заголовка Content-Type ответа HTTP), тело ответа было перекодировано из этой кодировки в UTF-8.

body

Этот элемент присутствует, когда у ответа HTTP есть непустое тело. Тело конвертируется в элемент body согласно элементу responseFormat запроса. Если элемент responseFormat не указан, то используются тип и подтип содержимого ответа:

responseFormat

Content-Type
(responseFormat не указан)

преобразован в

xml

*/xml, */*+xml

тело интерпретируется как текстовое представление объекта XML. Элемент body содержит прочитанный объект XML

calendar

*/calendar

тело интерпретируется как текстовое представление объекта iCalendar. Элемент body содержит данные iCalendar в виде объекта XML.

пустая строка

*/*

Элемент body содержит блок данных с ответом HTTP.

Если модулю не удаётся конвертировать тело ответа HTTP в указанный в responseFormat формат, то он возвращает ошибку. Если responseFormat не был указан в запросе, то тело ответа HTTP возвращается в виде блока данных.

 

Date, Last-Modified, Expires

Элементы типа отметка времени со значениями из полей заголовка ответа HTTP.

Server, Location

строковые элементы со значениями из полей заголовка ответа.

Set-Cookie

строка или массив строк со значениями из поля заголовка ответа.