An '''in-kernel web server''' is an unlimited HTTP server that runs in kernel space or equivalent. It is also known as "accelerator".
== Benefits ==
* Performance: the path taken by data from a source device (i.e. a disk) to a destination device (i.e. a NIC). Proper asynchronous zero-copy interfaces would make this available from user-space. * Scalability: with respect to number of simultaneous clients. Event notification of comparable scalability seems unlikely in user-space{{ref|1|1}}.
== Drawbacks ==
*Security: Kernel processes run with unlimited privileges. *Portability. Every kernel needs a specific implementation route. *Reliability. Failure in the webserver may crash the OS.
== Implementations ==
*illumos/Solaris: NCAkmod aka Network Cache and Accelerator (NCA) kernel module *HP-UX: NSAhttp (NSA is an acronym for Network Server Accelerator) *Linux: TUX *[https://mesibo.com Mesibo] In-kernel real-time messaging server *Windows NT: http.sys (part of IIS) *SPIN: http *OpenVMS: WASD.trap
== See also == * Comparison of web server software * Service-oriented architecture * Unikernel/Exokernel (eg. SPIN's loadable kernel modules)
== References ==
*{{note|1|1}}[http://www.citi.umich.edu/techreports/reports/citi-tr-00-4.pdf CITI_TR_00-4] *[http://usenix.org/events/usenix01/full_papers/joubert/joubert.pdf High-Performance Memory-Based Web Servers: Kernel and User-Space Performance. Philippe Joubert, Robert B. King, Rich Neves, Mark Russinovich, John M. Tracey. IBM. T. J. Watson Research Center]
Category:Web server software
{{Network-software-stub}}