JSGI, or JavaScript Gateway Interface, is an
interface between
web server
A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
s and
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
-based
web application
A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
s and
frameworks. It was inspired by the
Rack for
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
and
WSGI for
Python and was one of the inspirations of
PSGI for
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
.
is a
reference implementation
In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation ...
of JSGI.
It has been included in and further developed by the
CommonJS project.
JSGI packages
All these packages are for
Node.js.
Low level
Q-IO Promise-based I/O, includes JSGI-based HTTP server and client
jsgi-node Low level JSGI interface for Node.JS
Framework
These frameworks allow using
promises with Q:
*
*
The names are inspired by
Sinatra.
References
External links
JSGI 0.3 specification*
*
JavaScript libraries
{{compu-prog-stub