Introduction

Have you heard about FastCGI? No? You should. FastCGI was created a long time ago as the natural evolution of CGI and it takes advantage of strong concepts such as asynchronous communications, concurrency, multiplexing and state machines, such concepts are essential to todays dynamic web systems and FastCGI architecture suits very well.

At first it seems a bit confusing, but once you understand it, the superiority against the majority solutions shows up crystal clear.

Advantages

  • platform independent

  • server independent

  • architecture independent

  • language independent

  • process isolation

  • unix sockets or tcp/ip socket based

  • fast (persistent processes)

  • simplicity

  • scalability

Architecture

Below are some tips about the architectural design of FastCGI that will help one understand it's details.

  • Internal multiplexing can be done using request ids on a single and persistent connection.

  • An application can inform the server that it does not support internal multiplexing with FCGI_MPXS_CONNS response for FCGI_GET_VALUES management record request.

  • An application may also accept several concurrent transport connections, but it need not do so.

References

© 2007-2008 Alexandre Girão