Netscape Server Application Programming Interface
Encyclopedia
The Netscape Server Application Programming Interface (NSAPI) is an application programming interface
for extending server software, typically web server
software.
for use in Netscape's web server software
. A variant of NSAPI can also be used with Netscape's directory server software.
Because there is no formal standard, applications that use NSAPI are not necessarily portable across server software. As of 2007, varying degrees of support for NSAPI are found in Sun Java System Web Server and Zeus Web Server
.
To use a SAF, an administrator
must first configure the server to load the plug-in that implements that SAF. This is typically controlled by a configuration file
named magnus.conf. Once the plug-in is loaded, the administrator can configure when the server should invoke the SAF and what parameters it should be passed. This is typically controlled by a configuration file named obj.conf.
(CGI). Like CGI, NSAPI provides a means of interfacing application software
with a web server. Unlike CGI programs
, NSAPI plug-ins run inside the server process. Because CGI programs run outside of the server process, CGI programs are generally slower than NSAPI plug-ins. However, running outside of the server process can improve server reliability by isolating potentially buggy applications from the server software and from each other.
In contrast to CGI programs, NSAPI SAFs can be configured to run at different stages of request processing. For example, while processing a single HTTP request, different NSAPI SAFs can be used to authenticate and authorize the remote user, map the requested URI
to a local file system path, generate the web page, and log the request.
After Netscape introduced NSAPI, Microsoft
developed ISAPI and the Apache Software Foundation
developed the Apache
API. All three APIs have a number of similarities. For example: NSAPI, ISAPI and the Apache API allow applications to run inside the server process. Further, all three allow applications to participate in the different stages of request processing. For example, Apache API's hooks closely resemble those used in NSAPI.
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
for extending server software, typically web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....
software.
History
NSAPI was initially developed by Rob McCool at NetscapeNetscape
Netscape Communications is a US computer services company, best known for Netscape Navigator, its web browser. When it was an independent company, its headquarters were in Mountain View, California...
for use in Netscape's web server software
Netscape Enterprise Server
Netscape Enterprise Server was a web server developed originally by Netscape Communications Corporation. The product has since been renamed Sun Java System Web Server, reflecting the product's acquisition by Sun Microsystems...
. A variant of NSAPI can also be used with Netscape's directory server software.
Because there is no formal standard, applications that use NSAPI are not necessarily portable across server software. As of 2007, varying degrees of support for NSAPI are found in Sun Java System Web Server and Zeus Web Server
Zeus Web Server
Zeus Web Server is a proprietary web server for Unix and Unix-like platforms . Support for AIX, Tru64, and Mac OS X was dropped on 10 June 2008....
.
NSAPI plug-ins
Applications that use NSAPI are referred to as NSAPI plug-ins. Each plug-in implements one or more Server Application Functions (SAFs).To use a SAF, an administrator
System administrator
A system administrator, IT systems administrator, systems administrator, or sysadmin is a person employed to maintain and operate a computer system and/or network...
must first configure the server to load the plug-in that implements that SAF. This is typically controlled by a configuration file
Configuration file
In computing, configuration files, or config files configure the initial settings for some computer programs. They are used for user applications, server processes and operating system settings. The files are often written in ASCII and line-oriented, with lines terminated by a newline or carriage...
named magnus.conf. Once the plug-in is loaded, the administrator can configure when the server should invoke the SAF and what parameters it should be passed. This is typically controlled by a configuration file named obj.conf.
Comparison with related APIs and protocols
NSAPI can be compared to an earlier protocol named Common Gateway InterfaceCommon Gateway Interface
The Common Gateway Interface is a standard method for web servers software to delegate the generation of web pages to executable files...
(CGI). Like CGI, NSAPI provides a means of interfacing application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
with a web server. Unlike CGI programs
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
, NSAPI plug-ins run inside the server process. Because CGI programs run outside of the server process, CGI programs are generally slower than NSAPI plug-ins. However, running outside of the server process can improve server reliability by isolating potentially buggy applications from the server software and from each other.
In contrast to CGI programs, NSAPI SAFs can be configured to run at different stages of request processing. For example, while processing a single HTTP request, different NSAPI SAFs can be used to authenticate and authorize the remote user, map the requested URI
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...
to a local file system path, generate the web page, and log the request.
After Netscape introduced NSAPI, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
developed ISAPI and the Apache Software Foundation
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...
developed the Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...
API. All three APIs have a number of similarities. For example: NSAPI, ISAPI and the Apache API allow applications to run inside the server process. Further, all three allow applications to participate in the different stages of request processing. For example, Apache API's hooks closely resemble those used in NSAPI.