[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