HTTP в качестве внутреннего протокола
Занимаюсь сейчас разработкой контекстного демона. И, по привычке, начал реализовывать собственный протокол общения с демоном. Потом вспомнил статью, в которой говорилось о преимуществах использования протокола HTTP для внутреннего протокола общения.
В результате перешёл на использование HTTP. Для себя я выделил следующие преимущества. Во-первых, при использовании HTTP, у меня есть возможность использовать огромное количество готового программного обеспечения для создания инфраструктуры. Тот же nginx можно прикрутить в качестве балансировщика. Во-вторых, теперь никаких telnet-ов для тестирования, можно использовать любой браузер. В третьих, такой демон можно легко, без переработок, использовать в качестве сервиса с доступом по HTTP.
Рекомендую подумать на эту тему ![]()
Tags: http, программирование, протокол



А в качестве реализации http используешь evhttp или что-то свое?
libevent использую для работы с событиями, но парсинг HTTP собственный
“но парсинг HTTP собственный”
- почему?
Ну хотя бы потому, что обычно, если не реализовывать полноценный http-сервер, не требуется полная поддержка протокола HTTP. В этом случае можно сильно съэкономить на парсинге. Это во-первых. Во вторых, набор параметров в запросе для специализированного приложения сильно ограничен. Парсинг этих параметров и заполнение струкруты запроса выполняется при разборе HTTP-запроса, а не складируется “стандартным парсером HTTP” в собственные сруктуры, откуда потом копируется в структуру приложения.
В общем, зачем делать лишнюю работу?