Welcome to GuardiansWorlds.com
 
 

  User Info Box

Anonymous
18.216.93.2
Nickname:

Password:

Security Code:
Security Code
Type Security Code:


User Stats:
Today: 0
Yesterday: 0
This Month: 0
This Year: 0
Total Users: 117
New Members:
Online Now:
  Guests: 221
18.216.xx.x
3.144.xxx.xx
3.138.xxx.xx
18.217.xxx.xx
3.137.xxx.xxx

  Total Online: 221
Server Time:
Dec 28, 2024
09:45 am UTC
 

  Modules/Site Links

· Home
· Bible-MM
· Birds-MM
· Car_Show-MM
· Christmas-MM
· Content
· Domaining-MM
· Downloads
· Drugs-MM
· Event Calendar
· FAQ
· Feedback
· Fish-MM
· Gambling_Guide-MM
· Guardians Worlds Chat
· HTML_Manual
· Internet_Traffic_Report
· IP_Tracking Tool
· Journal
· Members List
· Movies-MM
· Music_Sound-MM
· NukeSentinel
· PHP-Nuke_Tools
· PHP_Manual-MM
· PING Tool
· Private Messages
· Recommend Us
· Reptiles-MM
· Search
· SEO_Tools
· Statistics
· Stories Archive
· Submit News
· Surveys
· Top 30
· Topics
· Visitor Mapping System
· Web Links
· Webcams
· Web_Development-MM
· YahooNews
· YahooPool
· Your Account
 

  Categories Menu

· All Categories
· Camaro and Firebird
· FTP Server
· New Camaro
· News
· Online Gaming
 

  Survey

Which is your favorite generation Camaro or Firebird?

1st Gen. 67-69 Camaro
2nd Gen. 70-81 Camaro
3rd Gen. 82-92 Camaro
4th Gen. A 93-97 Camaro
4th Gen. B 98-2002 Camaro
1st Gen. 67-69 Firebird
2nd Gen. 70-81 Firebird
3rd Gen. 82-92 Firebird
4th Gen. A 93-97 Firebird
4th Gen. B 98-2002 Firebird



Results
Polls

Votes: 66
Comments: 0
 

  Cluster Maps

Locations of visitors to this page
 

  Languages

Select Interface Language:

 

 
  FastCGI

Web Design & Development Guide

FastCGI

Home | Up


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.

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.

Implementation details

Instead of creating a new process for every request, FastCGI can use a single persistent process which handles many requests over its lifetime. Processing of multiple requests simultaneously is achieved either by using a single connection with internal multiplexing (ie. multiple requests over a single connection) and/or by using multiple connections. Many such processes can exist, something that can increase stability and scalability. FastCGI also allows programs to get the web server to do certain simple operations, like reading in a file, before the request is handed over. Environment information and page requests are sent from the web server to the process over a TCP connection (for remote processes) or Unix domain sockets (for local processes). Responses are returned from the process to the web server over the same connection. The connection may be closed at the end of a response, but the web server and the process are left standing.

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. Apache modules such as mod_perl and mod_php appeared around the same time and seemed to be even better replacements for CGI, allowing closer integration with the core webserver.

FastCGI languished for many years; however, later years have seen a resurgence in interest. Many web site administrators and programmers are finding that the separation of web applications from the web server in FastCGI (and the simpler 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.

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 (now stagnant) or mod_fcgid
    • Multiplexing of requests through a single connection is prohibited by Apache's design[1], so this isn't supported
  • aXesW3
  • 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
  • Microsoft IIS [5]
    MyServer
    Nginx
    Open Market Web Server
    Roxen webserver
    Sun Java System Web Server (and predecessors)
    WebSTAR
    Zeus

Language bindings for the FastCGI API

FastCGI can be implemented in any language that supports sockets. APIs exist for:

  • C / C++
    Common Lisp: CLISP and CMUCL
    Guile Scheme
    Goanna Eiffel
    Java
    Ocaml
    Perl
    PHP
    Roadsend PHP
    Python
    Ruby
    TCL
    SmallEiffel
    Smalltalk: FasTalk and Dolphin Smalltalk
    HP BASIC for OpenVMS

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, and Django allow use with either the embedded interpreters (mod_ruby, mod_perl, or mod_python respectively) or with FastCGI.

References

  1. ^ FastCGI – The Forgotten Treasure/ Section 2.3.
  2. ^ FastCGI for Cherokee
  3. ^ FastCGI HOWTO for Hiawatha
  4. ^ FastCGI for Lighttpd
  5. ^ FastCGI for IIS (technical preview 2)

External links


Home | Up | Web analytics | Web application | Web service | FastCGI | .htaccess | Hypervideo | Mirror | Website monitoring

Web Design & Development Guide, made by MultiMedia | Websites for sale

This guide is licensed under the GNU Free Documentation License. It uses material from the Wikipedia.

 
 


 
  Disipal DesignsAnti-Spam
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2002 by me.
You can syndicate our news using the file backend.php or ultramode.txt This site contains info,links,chat,message board/forum for online games,gaming,other features.Check out my servers and stats for Killing Floor, Quake3 Rocket Arenas & Deathmatch,Trade Wars 2002 & FTP server.Camaro/Firebirds, car info.