The Netscape Server Application Programming Interface (NSAPI) is an
application programming interface for extending server
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
, typically
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 ...
software.
History
NSAPI was initially developed by
Rob McCool at
Netscape
Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California and then Dulles, Virginia. Its Netscape web browser was on ...
for use in
Netscape Enterprise Server
Oracle iPlanet Web Server (OiWS) is a web server designed for medium and large business applications. Previous versions were marketed as Netscape Enterprise Server, iPlanet Web Server, Sun ONE Web Server, and Sun Java System Web Server.
Oracle ...
. A variant of NSAPI can also be used with
Netscape Directory Server.
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 is a discontinued proprietary high-performance web server for Unix and Unix-like platforms (including Solaris, FreeBSD, HP-UX and Linux). It was developed by Zeus Technology, a software company located in Cambridge, England tha ...
.
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 must first configure the server to load the plug-in that implements that SAF. This is typically controlled by a
configuration file
In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system ...
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 Interface
In computing, Common Gateway Interface (CGI) is an interface specification that enables web servers to execute an external program, typically to process user requests.
Such programs are often written in a scripting language and are commonly re ...
(CGI). Like CGI, NSAPI provides a means of interfacing
application software
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a ...
with a web server. Unlike CGI
programs
Program, programme, programmer, or programming may refer to:
Business and management
* Program management, the process of managing several related projects
* Time management
* Program, a part of planning
Arts and entertainment Audio
* Programm ...
, 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
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
request, different NSAPI SAFs can be used to authenticate and authorize the remote user, map the requested
URI Uri may refer to:
Places
* Canton of Uri, a canton in Switzerland
* Úri, a village and commune in Hungary
* Uri, Iran, a village in East Azerbaijan Province
* Uri, Jammu and Kashmir, a town in India
* Uri (island), an island off Malakula Isla ...
to a local file system path, generate the web page, and log the request.
After Netscape introduced NSAPI,
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
developed
ISAPI The Internet Server Application Programming Interface (ISAPI) is an N-tier API of Internet Information Services (IIS), Microsoft's collection of Windows-based web server services. The most prominent application of IIS and ISAPI is Microsoft's we ...
and the
Apache Software Foundation developed Apache API (or ASAPI:
Apache Server API). All three APIs have a number of similarities. For example: NSAPI, ISAPI and 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 hooks closely resemble those used in NSAPI.
See also
*
NPAPI (Netscape Plugin Application Programming Interface)
References
External links
Oracle iPlanet Web Server 7.0.9 NSAPI Developer's GuideSun Java System Web Server 7.0 NSAPI Developer's GuideZeus Web Server Introduction to NSAPI(archived version)
{{Netscape
Netscape
Application programming interfaces