NaviServer

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
NaviServer
Original authorNaviSoft
DevelopersBernd Eidenschink, Ibrahim, Stephen Deasey, Gustaf Neumann, Vlad Seryakov, Zoran Vasiljevic
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC, Tcl
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypeWeb server
    LicenseMozilla Public License
    WebsiteGitHub Repository SourceForge

    NaviServer[1][2] 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.[3] 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

    [edit | edit source]

    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.[4] 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.[5] 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

    [edit | edit source]
    [edit | edit source]

    References

    [edit | edit source]