La interfaz de programación de aplicaciones de servidor Netscape ( NSAPI ) es una interfaz de programación de aplicaciones para ampliar el software de servidor , normalmente el software de servidor web .
NSAPI fue desarrollado inicialmente por Rob McCool en Netscape para su uso en Netscape Enterprise Server . También se puede utilizar una variante de NSAPI con Netscape Directory Server .
Como no existe un estándar formal, las aplicaciones que utilizan NSAPI no son necesariamente portables entre servidores. A partir de 2007, se encontraron distintos grados de compatibilidad con NSAPI en Sun Java System Web Server y Zeus Web Server .
Las aplicaciones que utilizan NSAPI se denominan complementos NSAPI . Cada complemento implementa una o más funciones de aplicación de servidor (SAF).
Para utilizar un SAF, un administrador debe configurar primero el servidor para cargar el complemento que implementa ese SAF. Esto se controla normalmente mediante un archivo de configuración llamado magnus.conf. Una vez cargado el complemento, el administrador puede configurar cuándo el servidor debe invocar el SAF y qué parámetros se le deben pasar. Esto se controla normalmente mediante un archivo de configuración llamado obj.conf.
NSAPI se puede comparar con un protocolo anterior llamado Interfaz de Puerta de Enlace Común (CGI). Al igual que CGI, NSAPI proporciona un medio para interconectar el software de aplicación con un servidor web. A diferencia de los programas CGI , los complementos NSAPI se ejecutan dentro del proceso del servidor. Debido a que los programas CGI se ejecutan fuera del proceso del servidor, los programas CGI son generalmente más lentos que los complementos NSAPI. Sin embargo, la ejecución fuera del proceso del servidor puede mejorar la confiabilidad del servidor al aislar las aplicaciones potencialmente defectuosas del software del servidor y entre sí.
A diferencia de los programas CGI, los SAF NSAPI se pueden configurar para ejecutarse en diferentes etapas del procesamiento de solicitudes. Por ejemplo, al procesar una única solicitud HTTP , se pueden utilizar diferentes SAF NSAPI para autenticar y autorizar al usuario remoto, asignar la URI solicitada a una ruta del sistema de archivos local, generar la página web y registrar la solicitud.
Después de que Netscape introdujera NSAPI, Microsoft desarrolló ISAPI y la Apache Software Foundation desarrolló Apache API (o ASAPI: Apache Server API). Las tres API tienen varias similitudes. Por ejemplo: NSAPI, ISAPI y Apache API permiten que las aplicaciones se ejecuten dentro del proceso del servidor. Además, las tres permiten que las aplicaciones participen en las diferentes etapas del procesamiento de solicitudes. Por ejemplo, los ganchos de Apache API se parecen mucho a los utilizados en NSAPI. [1]