Mongoose (web server)
![]() | A major contributor to this article appears to have a close connection with its subject. (November 2020) |
Original author(s) | Sergey Lyubka |
---|---|
Developer(s) | Cesanta Software Limited[1] |
Stable release | 6.18
/ May 21, 2020[2] |
Repository | |
Written in | C |
Operating system | Cross-platform [3] |
Type | Web server |
License | Dual license: GPLv2 and commercial license[4] |
Website | www |
Mongoose is a cross-platform embedded web server and networking library with abilities such as TCP connectivity, HTTP client + server usage, and acting as a WebSocket client.[citation needed]
The small footprint of the software enables any Internet-connected device to function as a web server.[5] Mongoose is available under GPLv2 and/or alternative commercial licenses.
Overview
Mongoose is built on top of the Mongoose Embedded Library which may be used inside of embedded devices. Mongoose is officially supported on Windows, MacOS, Linux, QNX, eCOS, FreeRTOS, Android and iOS.[3]
Functions
The advertised functions of Mongoose include:[6]
- 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
- Source code is both ISO C and ISO C++ compliant[7]
- 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, the license was changed[8][9] from the MIT license to a dual GPLv2/commercial licensing scheme.[10] After the license change, Mongoose was forked, and these forks eventually diverged significantly with new features added. A notable fork due to this change is civetweb.
References
- ^ Cite error: The named reference
Newenham 2013-1
was invoked but never defined (see the help page). - ^ "Releases · cesanta/mongoose · GitHub". Retrieved 11 August 2020.
- ^ a b 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".
- ^ Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- ^ Mongoose Embedded Web Server Library: Mongoose is more than an embedded webserver. It is a multi-protocol embedded networking library with functions including TCP, HTTP client and server, WebSocke.., Cesanta Software, 2019-05-22, retrieved 2019-05-22
- ^ "Company Overview of Cesanta Software Limited". Bloomberg. Retrieved 30 June 2016.
- ^ "License change · cesanta/mongoose@2184286". GitHub. Retrieved 2019-05-17.
- ^ "License change · cesanta/mongoose@587aad7". GitHub. Retrieved 2019-05-17.
- ^ "Google Groups". groups.google.com. Retrieved 2019-05-17.