Knowledge Base Wiki

Search for LIMS content across all our Wiki Knowledge Bases.

Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.

Edit links
NaviServer
Original author(s)NaviSoft
Developer(s)Bernd Eidenschink, Ibrahim, Stephen Deasey, Gustaf Neumann, Vlad Seryakov, Zoran Vasiljevic
Stable release
4.99.30[1] / 26 January 2024; 10 months ago (26 January 2024)
Written inC, Tcl
Operating systemCross-platform
TypeWeb server
LicenseMozilla Public License
WebsiteGitHub Repository SourceForge

NaviServer[2][3] 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.[4] 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.[5] 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.[6] 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 OpenACS in particular.

See also

References