Mongoose (web server)
This article contains promotional content. (September 2014) |
Original author(s) | Sergey Lyubka |
---|---|
Developer(s) | Cesanta Software |
Stable release | 6.2
/ January 11, 2016 |
Repository | |
Written in | C |
Operating system | Cross-platform |
Type | Web server |
License | Dual license: GPLv2 and commercial license[1] |
Website | github |
Mongoose is a cross-platform embedded web server and multiprotocol networking library by Cesanta Software.
Mongoose is built on top of Mongoose Embedded Library. Mongoose Library is used to implement RESTful services, serve Web GUI on embedded devices, create RPC frameworks (e.g. JSON-RPC), handle telemetry data exchange, and perform many other tasks in various different industries including aerospace, manufacturing, finance, research, automotive, gaming, IT.
With just over 130 kB source code and an executable footprint of 40 kB on Linux 2.6 i386, Mongoose is one of the smallest web servers available.[citation needed] Mongoose is recommended in a book on HTML5.[2] Via an API it can be also embedded into other programs.[3]
It is released under commercial and GPLv2 open source licenses. The GPLv2 Open Source License does not generally permit incorporating Mongoose into non-open source programs. For those customers who do not wish to comply with the GPLv2 open source license requirements, Cesanta Software offers a full, royalty-free commercial license and professional support without any of the GPL restrictions.
Features list:
- Cross-platform, support for Unix/Linux, *BSD, eCos, Windows, OS X, QNX and more
- CGI, SSI, Digest (MD5) authorization, WebSocket, WebDAV support
- Resumed download, URL rewriting support, HTTP proxy support
- SSL support, both one-way and two-way SSL
- IP-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods
- Excluding files from serving by URI pattern
- HTTP client functionality
- MQTT client and broker functionality
- DNS client and server functionality
- Tiny static and run-time footprint
- Source code is both ISO C and ISO C++ compliant
- Single-threaded, asynchronous, non-blocking core with simple event-based API
- Native support for PicoTCP embedded TCP/IP stack, LWIP embedded TCP/IP stack
References
- ^ "Mongoose license".
- ^ A Software Engineer Learns HTML5, JavaScript and jQuery by Dane Cameron
- ^ Mongoose: an Embeddable Web Server in C, LinuxJournal, Michel J. Hammel, 2010-04-01.