[En-Nut-Discussion] MicroHTTP Status
Harald Kipp
harald.kipp at egnite.de
Fri Aug 23 19:04:46 CEST 2013
Hi all,
If you got some spare time, read this marketing brabble.
A few months ago I added a new HTTP server library, which is now
recommended for new applications.
http://www.ethernut.de/en/documents/uhttplib.html
I admit, that it isn't as well tested as the old HTTPD lib and still
contains known and possibly unknown bugs.
* r5271 fixes a bug in the SSI module.
* Using stdio streams may produce corrupted output on some platforms.
Setting
Network (application layer) -> uHTTP API -> Platform Streams
in the Configurator or
HWDEF+=-DHTTP_PLATFORM_STREAMS in UserConf.mk
seems to fix this.
Anyway, the new uHTTP API had been used in a number of complex web
interfaces without problems. It had been successfully implemented on a
Windows PC and will hopefully become available on Linux and OS X. This
allows you to test your web interface on a desktop machine first, before
moving to a final target system.
Furthermore, Michael Fischer recently used this library with ChibiOS/RT
and lwIP, see
http://www.emb4fun.de/arm/lwipuhttp/
That's quite promising, isn't it?
Compared to the old lib, using uHTTP looks a bit difficult first. That's
because it is very flexible. For example, you can overwrite any default
handling or add new features without touching the original code.
Some Nut/OS users may consider this new implementation, but do not want
to upgrade the whole Nut/OS system. I think that the uHTTP library will
work fine with earlier Nut/OS versions as well.
Not sure about code space, though. When disabling unneeded features, you
will most likely save memory space. If, however, your current web
interface runs on an 8-bit AVR and very low memory, it may be better to
wait. Right now the code is not as compact as it could be.
Why not give it a first try? I think it is worth the effort. If you run
into trouble, please let me know.
Regards,
Harald
More information about the En-Nut-Discussion
mailing list