Программа Traffic Inspector имеет встроенный WWW сервер, на основе которого могут решаться самые разнообразные задачи.
Общие вопросы о его возможностях, работе и конфигурировании описаны в справке на программу. В этом документе будут рассмотрены вопросы расширения возможностей программы сторонними разработчиками.
Порядок обработки запросов у веб сервера следующий -
• | Анализ заголовков запроса и виртуального пути. |
• | Выполнение предопределенного запроса, не требующего авторизации. |
• | Далее выявление необходимости авторизации и авторизация, если анонимный доступ к разделу закрыт. |
• | Выполнение перенаправления (редиректа), если это прописано в настройках. |
• | Выполнение предопределенного запроса, требующего авторизации. |
• | Если раздел сконфигурирован для ASP.NET приложения, то передача запроса в ASP.NET хостинг-процесс. Все остальные действия по обработке запроса производятся там. |
• | Иначе обработка запроса типа GET на ресурс в виртуальном директории. Как "классический" веб сервер. Если для раздела разрешен просмотр директориев, то выдача HTML страницы с его содержимым. |
Предопределенные запросы - это заранее определенные в программе запросы, которые обрабатываются самой службой веб сервера:
• | /getcert.cer - выдает сертификат издательства SSL сервера. Авторизация не требуется. Сертификат может использоваться клиентом для установки его в системе или броузере. |
• | /getcertchain.pfx - выдает набор всех сертификатов SSL сервера по цепочке до издательства. Авторизация не требуется. |
• | /ticonfig.xml - выдает данные конфигурирования для клиентских агентов в формате XML. Авторизация не требуется. |
• | /user/tiagent.xml - запрос для клиентских агентов по протоколам HTTP или SSL. Авторизация требуется, тип авторизации как клиента Traffic Inspector. Раздел /user доложен быть соответствующим образом настроен. Этот запрос также использует веб-агент. |
Веб сервер имеет встроенный механизм ведения и контроля сессий. Реализован по аналогии сессиям ASP.NET. Данные о сессиях хранятся во временных Cookies на браузере клиента, т.е. для корректной работы на броузере это не должно быть отключено. Сессия открывается один раз по запросу броузера, в дальнейшем все запросы в текущем и новом окне браузера будут обрабатываться в контексте одной сессии.
В сессии хранятся данные авторизации, а также любые произвольные данные ASP.NET приложения. Использование собственных сессий взамен сессий, встроенных в ASP.NET, дает преимущества -
• | Сессии создаются один раз и далее ведутся независимо от раздела веб сервера. Параметры авторизации запоминаются в сессии, в дальнейшем они используются повторно, исключая лишние запросы. Запрос на повторную авторизацию будет производиться только если у клиента не хватило прав на данный раздел. |
• | Данные сессии доступны для разных ASP.NET приложений. |
• | Для данной реализации были выявлены некоторые проблемы использования сессий, встроенных в ASP.NET. Их лучше не использовать. |
Таймаут сессии по умолчанию 20 минут, как и у встроенных в ASP.NET сессий. Таймаут можно изменить добавлением соотв. атрибута в файл web.config.
Текущая страница справки: http://help.smart-soft.ru/doc20/index.html?sdk_wwwserver.htm