Red de conocimiento informático - Computadora portátil - ¿Cuáles son las diferencias en el desarrollo entre CGI y otros programas similares a PHP?

¿Cuáles son las diferencias en el desarrollo entre CGI y otros programas similares a PHP?

Primero, hay que diferenciar entre CGI (protocolo) y aplicación CGI (programa/script), son dos cosas diferentes. Es incorrecto decir "...es una aplicación externa (programa CGI)". CGI no es un programa, ni un lenguaje de programación, es un protocolo, como SMTP, POP3, FTP, etc... La versión actual es 1.1 (ver: RFC3875).

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