Daily Archives: 2014-12-02

vohttpd: light weight embeded httpd

VoCore Web Server change its name to vohttpd.
A former version has released and put into GitHub: https://github.com/vonger/vohttpd
My target is to make a httpd who has faster speed and less resource consume, the most important, it should be flexible, easy to add plugins.

vohttpd should be a basic core do not contains any unnecessary features, its main target is to provide an environment for plugins. Any features could be move to plugins and they should not appear in the core application.

Plugins are the most important part. For example, if I want to have a browser based user interface for gpio control(as my last blog shows), I just write a plugin and use vohttpd API to load that plugin, then it will be OK to use. If I connect VoCore to a mjpeg webcam, I can get picture directly from browser, do not have to code a middle adapter.
Future, we can add more javascript for the client side, just draw&drop the plugin into the browser, all function will be automatic load to VoCore, that will be cool.

Super simple, and born to be cross platform. 🙂

For now, load/unload/query plugins feature has done. In source code, there are two example plugins, one for test, one for online plugin control, such as upload plugin or remove plugin.

load

There are a lot of work left to do:
1. use mmap for better memory usage when receiving big file.
2. add https as an option.
3. add auth function. (But make it as plugin? or make it into vohttpd?)

I am glad to hear from you. Please leave a comment.

PS: I spend time on this project just because I really need something like this for my further use, and the development process is very interesting. 🙂 I do not intend to replace any exists httpd, such as LuCI, uhttpd etc. They are very good too.