Cos'è un FastCGI?
FastCGI è un'estensione dell'interfaccia gateway comune (CGI) sviluppata da una società ormai defunta chiamata Open Market. FastCGI è liberamente disponibile come standard aperto. Affronta alcune carenze in CGI che limitano le prestazioni.
A differenza di CGI, FastCGI non crea un nuovo processo per ciascuna richiesta, riducendo così al minimo il sovraccarico della creazione e della distruzione del processo ogni volta che viene ricevuta una richiesta. Questo sovraccarico può essere aggirato utilizzando le interfacce del programma applicativo (API) come Netscape Server Application Programming Interface (NSAPI) o Internet Server Application Programming Interface (ISAPI), ma poiché questi sono proprietari, ci sono ulteriori curve di apprendimento e limitazioni nei linguaggi supportati da considerare. Un altro difetto di CGI è il fatto che alcuni casi di riutilizzo non possono essere ottenuti, come connessioni a database o tecniche di memorizzazione nella cache. La gestione delle richieste può arrivare fino a 30 volte più veloce utilizzando FastCGI rispetto al CGI convenzionale.
con veloceCGI, possono essere gestite più richieste su una singola connessione, che è nota come multiplexing. In alternativa, è possibile utilizzare più connessioni. Le richieste vengono trasmesse utilizzando File Transfer Protocol (FTP) o prese. La stessa connessione viene quindi utilizzata per restituire la risposta.
Sebbene la connessione possa essere chiusa a questo punto, il server Web e il processo persistono ancora. Questo offre molti vantaggi. Ad esempio, significa che il processo del server e dell'applicazione può essere chiuso o riavviato separatamente.
FastCGI è stato originariamente sviluppato da Open Market e implementato nella sua offerta di web server. L'interfaccia può essere implementata su qualsiasi server, tuttavia ed è stata presto in atto su un numero di altri server Web del settore. FastCGI è altamente compatibile con il calcolo distribuito, quindi un'applicazione FastCGI può essere eseguita su un server separato per il servizio Web. Questo offre tutti i vantaggi diMigliorare la disponibilità dei sistemi, del miglioramento della scalabilità e dell'aumento della sicurezza del sistema perché i componenti sono isolati. Usando FastCGI remoto, c'è meno amministrazione perché la rete interna può gestire l'esecuzione di applicazioni.
Proprio come un'applicazione CGI può generare una risposta da una richiesta HTTP (Hypertext Transfer Protocol), così anche può FastCGI. Gestisce anche attività come la verifica dell'autenticazione e la conversione dei tipi di dati. Queste attività vengono gestite usando ruoli, che possono essere aggiunti ed estesi liberamente.
FastCGI è semplice da capire e funzionerà con quasi tutti i linguaggi di programmazione. I processi sono isolati, quindi i server non possono essere arrestati da problemi specifici dell'applicazione. Qualsiasi applicazione costruita con FastCGI Framework è arretrata con vecchi server che eseguono CGI. Inoltre, la libreria delle applicazioni è progettata per semplificare la migrazione delle applicazioni CGI.