FastCGI
From Wikipedia, the free encyclopedia
FastCGI is a protocol for interfacing interactive programs with a web server. FastCGI is a variation on the earlier Common Gateway Interface (CGI); FastCGI's main aim is to reduce the overhead associated with interfacing the web server and CGI programs, allowing a server to handle more web page requests at once.
Contents |
[edit] History
CGI is a protocol for interfacing external applications to web servers. CGI applications run in a separate process, which is created at the start of each request and torn down at the end. This "one process per request" model makes CGI programs very simple to implement, but limits efficiency and scalability. At high loads, the operating system process creation and destruction overhead becomes significant and limits scalability. In addition, the CGI process model limits resource reuse techniques (such as reusing database connections, in-memory caching, etc.).
To address the scalability shortcomings of CGI, Open Market developed FastCGI and first introduced it in their webserver product in the mid-1990s. Open Market originally developed FastCGI in part as a competitive response to Netscape's proprietary, in-process API (NSAPI) for developing Web applications.
Although initially developed by Open Market, FastCGI was implemented by a number of other webserver makers. The FastCGI approach, however, competed against other techniques which also aimed to speed and simplify server-subprogram communications, but which didn't follow the CGI paradigm. SCGI) has many desirable advantages over embedded interpreters (mod_perl, mod_php, etc.). This separation allows server and application processes to be restarted independently — an important consideration for busy web sites. It also facilitates per-application security policies — important for ISPs and web hosting companies.
[edit] Web Servers that implement FastCGI
- Note: unless stated, completeness of FastCGI implementation is unknown
- Abyss Web Server
- Apache HTTP Server (partial)
- Implemented by either of the third-party modules mod_fastcgi or mod_fcgid
- Multiplexing of requests through a single connection is prohibited by Apache's design[1], so this isn't supported
- Cherokee HTTP Server [2]
- Hiawatha webserver [3]
- Loadbalancing FastCGI support
- Supports chrooted FastCGI servers
- Lighttpd[4] (partial)
- Multiplexing of requests through a single connection is not implemented
- LiteSpeed Web Server
- Microsoft IIS [5]
- Kerio WebSTAR
- Nginx
- Open Market Web Server
- Roxen Web Server
- Sun Java System Web Server
- Zeus Web Server
[edit] Language bindings for the FastCGI API
FastCGI can be implemented in any language that supports sockets. APIs exist[citation needed] for:
- Borland Delphi/FreePascal at ExtPascal
- C / C++
- Chicken Scheme
- Common Lisp: CLISP and CMUCL
- D programming language
- Guile Scheme
- Goanna Eiffel
- Haskell
- HP BASIC for OpenVMS
- Java
- Lua
- Ocaml
- Mono XSP
- Perl [6]
- PHP
- Roadsend PHP
- Python
- Ruby
- SmallEiffel
- Smalltalk: FasTalk and Dolphin Smalltalk
- TCL
FastCGI has enabled web application portability; in contrast, applications developed for embedded interpreters (such as mod_python) are often tightly bound to the Apache API. Recent frameworks such as Ruby on Rails, Catalyst, Django and Kepler allow use with either the embedded interpreters (mod_ruby, mod_perl, mod_python or mod_lua, respectively) or with FastCGI.
[edit] References
- ^ FastCGI – The Forgotten Treasure/ Section 2.3.
- ^ FastCGI for Cherokee
- ^ FastCGI HOWTO for Hiawatha
- ^ FastCGI for Lighttpd
- ^ "FastCGI Extension for IIS6.0 - RTM". FastCGI for IIS. Microsoft (2008-02-28). Retrieved on 2008-02-29.
- ^ CGI Interface for FastCGI
[edit] External links
- FastCGI specification
- FastCGI Web Site
- mod_fastcgi – FastCGI module for Apache 1.x
- mod_fcgid – a FastCGI module for Apache 2.x
- Microsoft FastCGI
- Apache v2.x mod_proxy FastCGI Module
- FastCGI C Example
|
||||||||||||||
| W Polsce "pierwszy stopień zasilania" |
|
Nie ma ograniczeń w dostawach gazu, jest "pierwszy stopień zasilania" - powiedziała dziś rzeczniczka operatora systemu gazociągów przesyłowych Gaz-System, Małgorzata Polkowska.
|
| Okradał kobiety w kościołach |
|
Lubuscy policjanci zatrzymali mężczyznę, który okradał kobiety w kościołach. Jego łupem padło kilkanaście damskich torebek, telefony komórkowe oraz pieniądze z kościelnej skarbony. 27-latek dopuścił się również kradzieży w kilku zielonogórskich firmach.
|
| Włoskie ferie Donalda Tuska |
|
Piękne szczyty Dolomitów, czyste, rześkie powietrze i wspaniałe stoki do szusowania. W takich bajkowych warunkach premier Donald Tusk spędził we Włoszech kilkudniowy urlop z rodziną - donosi "Fakt".
|
| Rekordowe inwestycje w Wiśle |
|
Wisła (woj. śląskie) ma jeden z największych budżetów w historii. Planowane wydatki sięgną prawie 43 mln zł, spodziewane dochody oscylują natomiast w granicach 36 mln. Powstały deficyt w wysokości 7 mln pokryty zostanie z kredytów.
|
| Ślisko na drogach Warmii i Mazur |
|
Błoto pośniegowe na głównych drogach nr 7 między Elblągiem a Nidzicą oraz nr 16 między Kisielicami a Ełkiem powoduje, że warunki jazdy w czwartek na Warmii i Mazurach są trudne.
|