NaviServer
{{multiple issues|
{{Notability|Products|date=February 2011}}
{{more citations needed|date=January 2021}}
}}
{{Infobox software
| name = NaviServer
| title = NaviServer
| logo = Naviserver Logo-01.svg
| screenshot =
| caption =
| collapsible =
| author = NaviSoft
| developer = Bernd Eidenschink, Ibrahim, Stephen Deasey, Gustaf Neumann, Vlad Seryakov, Zoran Vasiljevic
| released =
| discontinued =
| latest release version = {{wikidata|property|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version =
| latest preview date =
| programming language = C, Tcl
| operating_system = Cross-platform
| platform =
| size =
| language =
| genre = Web server
| license = Mozilla Public License
| website = [https://github.com/naviserver-project/naviserver GitHub Repository]
[https://sourceforge.net/projects/naviserver/ SourceForge]
}}
NaviServer[https://sourceforge.net/projects/naviserver/ NaviServer Project][https://github.com/naviserver-project/naviserver Official NaviServer NaviServer Source Code Repository] is a high performance web server written in C and Tcl. It can be easily extended in either language to create web sites and services; there are over 35 modules available (including database integration or protocol support for UDP, SMTP, LDAP, DNS, COAP, etc.)
The project is under active development,
NaviServer is mostly written in C with a very well-commented source code, had more than 6,000 commits made by 35 contributors
representing more than 100,000 lines of code.[https://www.openhub.net/p/naviserver "NaviServer statistics from Open Hub"] NaviServer is licensed under the terms of the Mozilla Public License (MPL).
Recent new features include:
- an internal watchdog for automatic server restarts
- server internals exposed in a command line mode
- thread shared arrays (atomic operations, dict support)
- built-in caching with cache transaction semantics (cache commit/rollback)
- hot code swapping (update code in the running system without server restart)
- asynchronous spooling of requests and replies
- delivery of static files optionally with gzip or brotli compression with automatic re-compression on updates
- selective logging with color highlighting (non-blocking)
- efficient built-in crypto support
- mass virtual hosting
- byte-range requests for streaming and resumption of downloads
- rich HTTPS support (server and client-side SNI, OCSP Stapling)
- built-in HTTP/HTTPS client support, with log-files
- built-in statistics (for mutex locks/rwlocks, cache, db-handles, ...)
- bandwidth management via multiple connection thread pools
- WebSocket and IPv6 support
History
NaviServer is based on AOLserver (version 4.10), AOL's open-source web server. The NaviServer project started as a fork of the AOLserver project in July 2005.[https://bitbucket.org/naviserver/naviserver/src/naviserver-4.99.0/ "naviserver-4.99.0"] It is different by supporting multiple protocols, providing higher scalability through asynchronous I/O and aims to be less conservative with new feature development.
Historically NaviServer was the original name of the server, a closed-source product by a company called NaviSoft in the early 1990s.[https://philip.greenspun.com/wtr/servers.html "The Web Tools Review on Servers"] It was bought by AOL in 1995, and released as open-source in 1999 as AOLserver after they released Mozilla. This friendly-fork takes the code back to its original name.
Large applications of NaviServer are the ArsDigita Community System and [https://openacs.org/ OpenACS] in particular.
See also
External links
- [http://naviserver.sourceforge.net/ NaviServer Home page]
- [https://github.com/naviserver-project/naviserver NaviServer GitHub Repository]
- [https://bitbucket.org/naviserver/ NaviServer Bitbucket Repository]
- [https://naviserver.sourceforge.io/n/toc.html NaviServer Documentation]
References
{{reflist}}
{{Web server software}}
Category:Free web server software
Category:Free software programmed in C
Category:Free software programmed in Tcl
{{network-software-stub}}