Автономный HTTP-сервер Python с поддержкой запуска сценариев?

Я пишу приложение, которое использует HTML-страницы в качестве пользовательского интерфейса — пользователь запускает его на своем компьютере и открывает http://localhost:8080. Написав около тысячи строк кода, реализующих мое собственное видение модели MVC, я заметил, что в значительной степени пытаюсь заново изобрести колесо - классы импорта RequestHandler, которые реализуют do_POST и do_GET для определенного случая, обработка сеанса... Я в значительной степени понял, что я делаю это неправильно.

Я бы предпочел придерживаться модели, что мой сценарий Python запускает HTTP-сервер (наиболее предпочтительно один из стандартной библиотеки), потому что мне нравится эта архитектура. Вопрос в том, существует ли какой-нибудь класс, похожий на HTTPServer, который дал бы мне интерфейс, похожий на CGI (анализ GET URI, автоматическая загрузка представлений и моделей) без больших накладных расходов? Я бы предпочел, чтобы он был как можно меньше и проще, поэтому, если нет решения на основе стандартной библиотеки, пусть это будет хотя бы чистый Python.


person d33tah    schedule 16.12.2012    source источник
comment
Поиск микровеб-фреймворка Python — Flask и Bottle — хорошие кандидаты   -  person Jon Clements♦    schedule 16.12.2012


Ответы (1)


Существует HTTP-сервер с поддержкой CGI, уже встроенный в python - это вероятно, самое простое место для начала.

person danodonovan    schedule 16.12.2012
comment
С редиректами проблем нет? - person d33tah; 16.12.2012
comment
Да, но вы должны быть в состоянии справиться с этим элегантно; например, проверка перенаправления (или исключения) и перенаправление на SimpleHTTPServer - person danodonovan; 17.12.2012
comment
Элегантно? Это кажется довольно хакерским. - person d33tah; 17.12.2012