Netscape Server Application Programming Interface: Difference between revisions

Content deleted Content added
Moreati (talk | contribs)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Whoop whoop pull up - 21816
 
(22 intermediate revisions by 21 users not shown)
Line 1:
{{Other uses|NSAPI (disambiguation){{!}}NSAPI}}
 
The '''Netscape Server Application Programming Interface''' ('''NSAPI''') is an [[application programming interface]] for extending server [[software]], typically [[web server]] software.
 
==History==
 
NSAPI was initially developed by [[Rob McCool]] at [[Netscape]] for use in [[Netscape Enterprise Server|Netscape's web server software]]. A variant of NSAPI can also be used with [[Netscape's directoryDirectory server softwareServer]].
 
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]].
Line 9 ⟶ 11:
==NSAPI plug-ins==
 
Applications that use NSAPI are referred to as NSAPI [[pluginPlug-in (computing)|plug-ins]]. Each plug-in implements one or more Server Application Functions (SAFs).
 
To use a SAF, an [[System administrator|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.
Line 15 ⟶ 17:
==Comparison with related APIs and protocols==
 
NSAPI can be compared to an earlier protocol named [[Common Gateway Interface|Common Gateway Interface]] (CGI)]]. Like CGI, NSAPI provides a means of interfacing [[application software]] with a web server. Unlike CGI [[Computer program|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 [[Computer bug|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 [[Uniform Resource Identifier|URI]] to a local file system path, generate the web page, and log the request.
 
After Netscape introduced NSAPI, [[Microsoft]] developed [[Internet Server Application Programming Interface|ISAPI]] and the [[Apache Software Foundation]] developed theApache API (or ASAPI: [[Apache HTTP Server|Apache Server]] API). All three APIs have a number of similarities. LikeFor 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.<ref>{{cite web |title=Apache API notes |url=http://httpd.apache.org/docs/1.3/misc/API.html |access-date=2007-03-24 |archive-date=2007-03-28 |archive-url=https://web.archive.org/web/20070328093147/http://httpd.apache.org/docs/1.3/misc/API.html |url-status=dead }}</ref>
 
==See also==
*[[NPAPI]] (Netscape Plugin Application Programming Interface)
 
==References==
{{reflist}}
<references/>
 
==External links==
* [http://docs.oracle.com/cd/E19146-01/821-1833/index.html Oracle iPlanet Web Server 7.0.9 NSAPI Developer's Guide]
* [http://docs.sun.com/app/docs/doc/819-2632 Sun Java System Web Server 7.0 NSAPI Developer's Guide]
* [https://web.archive.org/web/20130713113125/http://support.zeus.com/zws/examples/2005/12/16/nsapi_netscape_server_api Zeus Web Server Introduction to NSAPI] (archived version)
 
{{Web server interfaces}}
{{Netscape}}
 
{{Web server interfaces}}
[[Category:Netscape]]
[[Category:World Wide Web]]
[[Category:Application programming interfaces]]