JSGI
From CommonJS Spec Wiki
(Redirected from CommonJS/WSGI)
STATUS: RATIFIED, FURTHER DISCUSSION
Contents
Web server to application interface
A well-defined interface for connecting web applications to web servers is a very powerful thing. This approach has enabled applications written with any Java framework, for example, to be deployed behind a Java server ("servlet container"). Additionally, the standard interface allows the creation of "middleware", or software that sits in between the server and the application. There are many useful applications for middleware (automatic application of site wide styling, caching and sessions, security).
Prior Art
- Common Gateway Interface (CGI). The base from most everything later derives. See RFC 3875. Still used widely, not performant.
- FastCGI. A performant minimal and very stable variant of CGI. Allows use of existing CGI code with minimal change. Note FastCGI in IIS support is very important to some folk.
- Java Servlets. One of the first language-specific interfaces.
- Web Server Gateway Interface (Python). Very successful interface, but experience has shown that it's not 100% ideal.
- Ruby Rack. An up and coming standard in Ruby that looks a lot like WSGI 2.0.
- The Jack project provides a WSGI/Rack-like standard interface to webservers in JavaScript: http://jackjs.org
- Comparison of current WebServer APIs used by JS engines:
Proposed API
- 0.2: Proposal for JSGI specification: http://jackjs.org/jsgi-spec.html [ratified]
- 0.3:
Level 0, Draft 1 - 0.3: Level 0, Draft 2