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 and 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).
- 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.
- Java Servlets. One of the first language-specific interfaces.
- Comparison of current WebServer APIs used by JS engines:
Proposal for JSGI specification: http://jackjs.org/jsgi-spec.html