Mongoose (web server)
Original author(s) | Sergey Lyubka |
---|---|
Developer(s) | Cesanta Software [1] |
Stable release |
6.6
/ November 12, 2016 |
Repository |
github |
Written in | C |
Operating system | Cross-platform [2] |
Type | Web server |
License | Dual license: GPLv2 and commercial license[3] |
Website |
www |
Mongoose is a cross-platform embedded web server. The small size of the software enables any Internet-connected device to function as a web server. [1]
Overview
Mongoose is built on top of the Mongoose Embedded Library which can be used for the implementation of RESTful services, to serve Web GUI on embedded devices, create RPC frameworks (e.g. JSON-RPC). Mongoose is a cross-platform application that can be used on Windows, Macintosh OS, Linux, QNX, eCOS, Free RTOS, Android and iOS.[2]
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. Via an application programming interface, (API) it can also be embedded into other programs.[4]
Mongoose is natively supports most popular Microcontroller Units: ESP 826, ESP32, TI CC 3200, TI MSP 432, STM 32, NXP Kinetix, NRF 52, PIC 32.
Users
Mongoose is used by several companies in various industries, including software companies, equipment companies, semiconductor companies and some Fortune 500 technology companies.[1] In May 2016, Mongoose reached a mark of being downloaded over 1,000,000 times.[5]
Functions
Functions of Mongoose include:
- 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 address-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
- WebSocket 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[6]
- Single-threaded, asynchronous, non-blocking core with simple event-based API
- Native support for PicoTCP embedded TCP/IP stack, LWIP embedded TCP/IP stack
License change
In August 2013 Mongoose project license was changed to dual GPLv2 / commercial licensing scheme.
References
- 1 2 3 Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- 1 2 Oehlman, D.; Blanc, S. (2011). Pro Android Web Apps: Develop for Android using HTML5, CSS3 & JavaScript. Apresspod Series. Apress. pp. 9–11. ISBN 978-1-4302-3276-6.
- ↑ "Mongoose license".
- ↑ Hammel, Michael J. (April 1, 2010). "Mongoose: an Embeddable Web Server in C". Linux Journal. Retrieved July 1, 2016.
- ↑ Newenham, Pamela (March 21, 2013). "Irish start-up Cesanta to deliver keynote at CeBit conference". The Irish Times. Retrieved July 1, 2016.
- ↑ "Company Overview of Cesanta Software Limited". Bloomberg. Retrieved 30 June 2016.