HOME

TheInfoList



OR:

NaviServer is a high performance
web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initi ...
written in C and
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company ** TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited ...
. 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 The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typic ...
,
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory serv ...
,
DNS The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
, 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. NaviServer is licensed under the terms of the
Mozilla Public License The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird The MPL license is developed and maintained by Mozilla, which seeks to balance the conce ...
(MPL). Recent new features include: * an internal
watchdog Watchdog or watch dog may refer to: Animals *Guard dog, a dog that barks to alert its owners of an intruder's presence * Portuguese Watch Dog, Cão de Castro Laboreiro, a dog breed * Moscow Watchdog, a breed of dog that was bred in the Soviet U ...
for automatic server restarts * server internals exposed in a
command line A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
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 gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and ...
or
brotli Brotli is a lossless data compression algorithm developed by Google. It uses a combination of the general-purpose LZ77 lossless compression algorithm, Huffman coding and 2nd-order context modelling. Brotli is primarily used by web servers and ...
compression with automatic re-compression on updates * selective logging with color highlighting (non-blocking) * efficient built-in crypto support * mass
virtual hosting Virtual hosting is a method for hosting multiple domain names (with separate handling of each name) on a single server (or pool of servers). This allows one server to share its resources, such as memory and processor cycles, without requiring all ...
* 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 In computer science, a lock or mutex (from mutual exclusion) is a synchronization primitive: a mechanism that enforces limits on access to a resource when there are many threads of execution. A lock is designed to enforce a mutual exclusion concu ...
locks/ rwlocks, cache, db-handles, ...) *
bandwidth management Bandwidth management is the process of measuring and controlling the communications (traffic, packets) on a network link, to avoid filling the link to capacity or overfilling the link,https://www.internetsociety.org/wp-content/uploads/2017/08/BWro ...
via multiple connection thread pools *
WebSocket WebSocket is a computer communications protocol, providing full-duplex communication channels over a single Transmission Control Protocol, TCP connection. The WebSocket protocol was standardized by the Internet Engineering Task Force, IETF as in ...
and
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. I ...
support


History

NaviServer is based on
AOLserver AOLserver is AOL's open source web server. AOLserver is multithreaded, Tcl-enabled, and used for large scale, dynamic web sites. AOLserver is distributed under the Mozilla Public License. AOLserver was originally developed by NaviSoft under t ...
(version 4.10),
AOL AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo! Inc. ...
's
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initi ...
. The NaviServer project started as a
fork In cutlery or kitchenware, a fork (from la, furca ' pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ...
of the AOLserver project in July 2005. It is different by supporting multiple protocols, providing higher scalability through
asynchronous I/O In computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlap ...
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 NaviSoft was a web server, web publishing and web hosting company based in the United States that was the first company to offer an integrated solution that combined a high-performance programmable web server, NaviServer, with a WYSIWYG HTML auth ...
in the early 1990s."The Web Tools Review on Servers"
/ref> It was bought by
AOL AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo! Inc. ...
in 1995, and released as open-source in 1999 as
AOLserver AOLserver is AOL's open source web server. AOLserver is multithreaded, Tcl-enabled, and used for large scale, dynamic web sites. AOLserver is distributed under the Mozilla Public License. AOLserver was originally developed by NaviSoft under t ...
after they released
Mozilla Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, w ...
. 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

*
Comparison of web servers Web server software allows computers to act as web servers. The first web servers supported only static files, such as HTML (and images), but now they commonly allow embedding of server side applications. Some web application frameworks include s ...


External links


NaviServer Home page

NaviServer Bitbucket Source Code



References

Free web server software Free software programmed in C Free software programmed in Tcl {{network-software-stub