O que é um FastCGI?
FastCGI é uma extensão da Common Gateway Interface (CGI) que foi desenvolvida por uma empresa agora extinta chamada Open Market. FastCGI está disponível gratuitamente como um padrão aberto. Ele aborda certas deficiências no CGI que limitam o desempenho.
Ao contrário do CGI, o FastCGI não cria um novo processo para cada solicitação, minimizando a sobrecarga de criação e destruição de processos toda vez que uma solicitação é recebida. Essa sobrecarga pode ser contornada usando APIs (Application Program Interfaces), como a Interface de programação de aplicativos do servidor Netscape (NSAPI) ou a Interface de programação de aplicativos do servidor Internet (ISAPI), mas, como são proprietárias, há uma curva de aprendizado e limitações adicionais nos idiomas suportados. Para ser considerado. Outra falha do CGI é o fato de que certos casos de reutilização não podem ser obtidos, como conexões com bancos de dados ou técnicas de cache. O tratamento de solicitações pode ser até 30 vezes mais rápido usando o FastCGI sobre CGI convencional.
Com o FastCGI, várias solicitações podem ser tratadas em uma única conexão, conhecida como multiplexação. Como alternativa, várias conexões podem ser usadas. As solicitações são transmitidas usando FTP (File Transfer Protocol) ou soquetes. A mesma conexão é usada para retornar a resposta.
Embora a conexão possa estar fechada neste momento, o servidor da web e o processo ainda persistem. Isso oferece muitas vantagens. Por exemplo, isso significa que o processo do servidor e do aplicativo pode ser desligado ou reiniciado separadamente.
O FastCGI foi originalmente desenvolvido pelo Open Market e implementado em sua oferta de servidor web. A interface pode ser implementada em qualquer servidor, no entanto, e logo foi implementada em vários outros servidores da indústria. O FastCGI é altamente compatível com a computação distribuída, portanto, um aplicativo FastCGI pode ser executado em um servidor separado para o serviço da web. Isso oferece todas as vantagens de aprimorar a disponibilidade dos sistemas, melhorar a escalabilidade e aumentar a segurança do sistema porque os componentes são isolados. Ao usar o FastCGI remoto, há menos administração porque a rede interna pode lidar com a execução de aplicativos.
Assim como um aplicativo CGI pode gerar uma resposta de uma solicitação HTTP (Hypertext Transfer Protocol), o FastCGI também pode. Ele também lida com tarefas como verificar autenticação e converter tipos de dados. Essas tarefas são tratadas usando funções, que podem ser adicionadas e estendidas livremente.
O FastCGI é simples de entender e será executado com praticamente qualquer linguagem de programação. Os processos são isolados, portanto, os servidores não podem sofrer falhas devido a problemas específicos do aplicativo. Qualquer aplicativo criado com a estrutura FastCGI é reverso com servidores antigos executando CGI. Além disso, a biblioteca de aplicativos foi projetada para simplificar a migração de aplicativos CGI.