ddn1,

я согласен с Борисом. Http не импортирует CommTCP, и вообще не импортирует напрямую ни один транспортный протокол-модуль. Наименование модуля-транспорта передается как строка, и модуль-транспорт загружается динамически (не через IMPORT, а через Dialog.Call). И в этом красота и мосчь: Http может работать с произвольными транспортами, возможно, написанными позже, чем сама Http.
Вот команда запуска сервера:
## Код:
```
KeepRemote.StartHttpServer('CommTCP', '0.0.0.0:1081', '/BB/')
```

Как видите, я использую транспорт CommTCP, а мог бы указать HttpCommSSL

На Templ's Http я смог быстро сделать сервер для обслуживания запросов моего приложения. Для обычного веб-сервера - т.е. для раздачи html-файлов - уже все реализовано в Http, только запустить, программировать ничего не надо. И, кста, это самое внятное и лаконичное определение веб-сервера, которое я встречал, как раз в духе оберона. И как раз для изучения. Сложностью может быть, пожалуй, использованная - вполне уместно - машина состояний, чтобы разбить обработку запроса на этапы; но тоже довольно ясно все сделано.

К сожалению, Хттп построена только как сервер. Чтобы получить документ по http, я пользовался модулем от Ивана Денисова. А было бы логично и здорово, чтобы Хттп-клиент и Хттп-сервер пользовались единым набором Хттп-понятий.

Ну и еще, Джозеф широко использовал SHORTCHAR, что вызывало у меня сильное раздражение.