FastCGI




FastCGI è un protocollo che permette di interfacciare programmi interattivi CGI con un server web. FastCGI è una variazione della prima Common Gateway Interface (CGI); lo scopo principale di FastCGI è quello di ottimizzare le risorse del sistema nell'interfacciamento tra il programma CGI e il server web, permettendo al server di gestire più richieste di pagina web assieme.




Indice






  • 1 Funzionamento


  • 2 Server Web che implementano FastCGI


  • 3 Note


  • 4 Collegamenti esterni





Funzionamento |


Invece di creare un nuovo processo per ogni richiesta, FastCGI usa i processi persistenti per gestire una serie di richieste. Questi processi sono posseduti dal server di FastCGI e non dal server web. Per rispondere a una richiesta entrante, il server web invia informazioni e la pagina richiesta ad un processo di FastCGI su un socket (nel caso che FastCGI sia installato sulla stessa macchina del server web) o con un collegamento TCP (in caso FastCGI sia installato su una macchina remota). La risposta viene rimandata dal processo al server web sullo stesso collegamento, e il sistema di server web di conseguenza consegna quella risposta all'utilizzatore finale. Il collegamento può essere chiuso alla fine di una risposta, ma i processi del server web e i processi del server di FastCGI persistono. Ogni processo di FastCGI può gestire molte richieste da quando è attivo, in tal modo si evita uno spreco di risorse richieste per la creazione di un processo e per la sua terminazione. .mw-parser-output .chiarimento{background:#ffeaea;color:#444444}.mw-parser-output .chiarimento-apice{color:red}Gli amministratori di un sito web possono trovare che la separazione delle applicazioni del server web in FastCGI ha molti vantaggi sugli interpreti dei vari linguaggi[non chiaro] ( mod_perl, mod_php, ecc.).



Server Web che implementano FastCGI |



  • Abyss Web Server


  • Apache HTTP Server (partial)

    • Implemented by mod_fcgid. This module used to be third-party, but was granted to the ASF as an Apache HTTP Server subproject in 2009, shepherded by Chris Darroch.[1] It only supports UNIX sockets, no TCP sockets.[2]

    • An older, no longer updated, third-party module mod_fastcgi is also being used. As of Apache 2.4.x, this module no longer compiles properly.[3]

    • Multiplexing of requests through a single connection is prohibited by Apache 1.x design,[4] so this isn't supported

    • In Apache 2.4, mod_proxy_fcgi was added, supporting TCP FastCGI servers.




  • Cherokee HTTP Server[5]


  • Hiawatha webserver[6]

    • Loadbalancing FastCGI support

    • Supports chrooted FastCGI servers




  • Lighttpd[7]

  • LiteSpeed Web Server


  • Microsoft IIS[8]

  • Kerio WebSTAR

  • Nginx

  • Open Market Web Server

  • pronghorn Web Server

  • Resin Application Server

  • Roxen Web Server

  • Sun Java System Web Server

  • Any Servlet container (such as Apache Tomcat or Jetty), using the JFastCGI library.

  • Zeus Web Server



Note |




  1. ^ FastCGI apache module mod_fcgid


  2. ^ Debian bug #450748: Please add support for TCP/IP FastCGI servers


  3. ^ Issues with Apache 2.4 and PHP-FPM


  4. ^ FastCGI – The Forgotten Treasure/ Section 2.3.


  5. ^ FastCGI for Cherokee


  6. ^ FastCGI HOWTO for Hiawatha


  7. ^ FastCGI for Lighttpd


  8. ^ FastCGI Extension for IIS6.0 - RTM, in FastCGI for IIS, Microsoft, 28 febbraio 2008. URL consultato il 29 febbraio 2008.



Collegamenti esterni |




  • FastCGI specification (offline)
    • Specification biforcarsi



  • FastCGI Web Site (offline)
    • FastCGI Web Site biforcarsi



  • mod_fastcgi – modulo FastCGI forcella Apache 1.xe 2.x supportare applicazioni esterne (offline)
    • mod_fastcgi – modulo FastCGI forcella Apache 1.xe 2.x supportare applicazioni esterne


  • mod_fcgid - un modulo FastCGI per Apache 2.x

  • Microsoft FastCGI

  • modulo Apache v2.x mod_proxy FastCGI








InformaticaPortale Informatica

TelematicaPortale Telematica



Popular posts from this blog

Список кардиналов, возведённых папой римским Каликстом III

Deduzione

Mysql.sock missing - “Can't connect to local MySQL server through socket”