¿Cuáles son las diferencias en el desarrollo entre CGI y otros programas similares a PHP?
Lo que escribes en php/perl/c/... es solo CGI. Las aplicaciones CGI están escritas en php/perl/c/..., no en CGI. CGI se realiza mediante un servidor web que interactúa con un navegador (por lo que debes haber encontrado CGI antes). I (interfaz) se refiere a la E/S del servidor de red. La interfaz se aplica tanto a la aplicación que usted escribe como al navegador del cliente.
Aplicación CGI (Programa) --- Servidor web (CGI) --- Navegador
Más específicamente... alguien en el cliente realiza una solicitud al servidor web, envía un formulario... Cuando los datos llegan al servidor web, el servidor web genera los datos y los transfiere a un búfer en STDIN, luego espera a que su script los lea(). De esta manera, no tiene que preocuparse por si el cliente está en Windows, Linux o iOS, si usa Chrome, Firefox o ie, etc. Del mismo modo, una vez que tu programa comienza a ejecutarse, se envía a través de STDOUT y a la otra parte no le importa si estás usando Apache, IIS o Ngnix... Esa es la belleza de CGI