Programación Web en C++

CGI (INTERFAZ COMÚN DE PUERTA DE ENLACE) puede ser un conjunto de estándares que describen cómo se cambian los datos desde el servidor en línea, pasando la solicitud del usuario en línea a la aplicación Associate in Nursing y para recibir los datos de vuelta al usuario. Cuando cualquier usuario solicita una página web, el servidor devuelve la página solicitada. El servidor web generalmente pasa la información del formulario a un pequeño programa de aplicación que procesa los datos y puede enviar un mensaje de confirmación. Esta metodología o convención para pasar información entre el servidor y la aplicación se denomina interfaz de entrada común (CGI) y es un elemento del Protocolo de transferencia de hipertexto (HTTP) de la Web.

La interfaz de entrada común (CGI) puede ser un conjunto de reglas para ejecutar scripts y programas en un servidor en línea. Especifica qué datos se comunican entre el servidor en línea y los navegadores de red de los clientes y la forma en que se transmiten los datos. La mayoría de los servidores de red incluyen un directorio cgi-bin dentro de la carpeta raíz de cada sitio web en el servidor. Cualquier script colocado en este directorio debe seguir los principios de la interfaz de entrada común. Por ejemplo, los scripts ubicados dentro del directorio cgi-bin también reciben permisos viables, mientras que los archivos fuera del directorio no pueden ejecutarse. Una secuencia de comandos CGI también puede solicitar variables de entorno CGI, como SERVER_PROTOCOL y REMOTE_HOST, que pueden usarse como variables de entrada para la secuencia de comandos.

Dado que CGI puede ser una interfaz normal, se usará en múltiples tipos de plataformas de hardware y es compatible con muchas variedades de paquetes de software de servidor de red, como Apache y Windows Server. Los scripts y programas CGI también se pueden escribir en muchos lenguajes completamente diferentes, como C++, Java y Perl. Si bien varios sitios web todavía usan CGI para ejecutar programas y secuencias de comandos, los desarrolladores ahora suelen incluir secuencias de comandos directamente en las páginas web. Estos scripts, que están escritos en lenguajes como PHP y ASP, se procesan en el servidor antes de que se cargue la página, y los datos resultantes se envían al navegador del usuario.

Navegación por Internet
Para conocer la idea de CGI, echemos un vistazo a la situación que ocurre cuando los usuarios navegan en Internet utilizando una dirección específica.

  1. El navegador que está utilizando se comunica con el servidor web HTTP y solicita la URL.
  2. El servidor web analizará la URL y buscará el nombre del archivo; si se encuentra el archivo solicitado, devuelve inmediatamente ese archivo al navegador o envía un mensaje de error.
  3. El navegador web toma la respuesta de un servidor web y muestra el archivo recibido o un mensaje de error.
  4. Si está desarrollando un sitio web y necesita una aplicación CGI para controlar, puede especificar el nombre de la aplicación en la URL (localizador uniforme de recursos) que su código en un archivo HTML.

Configuración del lado del servidor
Antes de usar la programación CGI, los programadores deben asegurarse de que el servidor web admita CGI y esté bien configurado para manejar programas CGI. Por convención, los archivos CGI tendrán una extensión como .cgi, aunque son ejecutables de C++. Por defecto, Apache Web Server está configurado para ejecutar programas CGI en

/var/www/cgi-bin

Los programadores necesitan tener un servidor web en funcionamiento para ejecutar cualquier programa CGI como Perl, shell, etc.

Ejemplo de programa CGI usando C++

// C++ example of CGI program
  
#include <iostream>
using namespace std;
int main()
{
    cout << "Content-type:text/html\r\n\r\n";
    cout << "<html>\n";
    cout << "<head>\n";
    cout << "<title>Hello TutorialsCloud </title>\n";
    cout << "</head>\n";
    cout << "<body>\n";
    cout << "<h3> <b> First CGI program </b> </h2>\n";
    cout << "</body>\n";
    cout << "</html>\n";
    return 0;
}
Producción:

Tipo de contenido:texto/html

Hello TutorialsCloud

Primer programa CGI

  • Compile el programa anterior y asigne a este ejecutable un nombre adecuado junto con la extensión .cgi .
  • Este archivo debe mantenerse en
    /var/www/cgi-bin directory

    y tiene el siguiente contenido.

  • Algunos otros encabezados HTTP que se usan con frecuencia en los programas CGI son:
    1. Tipo de contenido : es una string MIME que define el formato del archivo que se devuelve.
    2. Caduca: Fecha : Define la fecha en que la información de la página web actual deja de ser válida.
    3. Ubicación: URL : la URL que debe devolverse en lugar de la URL que se solicita.
    4. Última modificación: Fecha : la fecha de la última modificación del recurso.
    5. Content-length: N : La longitud, en bytes, de los datos que se devuelven. El navegador utiliza este valor ‘N’ para informar el tiempo de descarga estimado.
    6. Set-Cookie: String : se utiliza para configurar la cookie pasada a través de la string

Variables de entornos CGI

  • CONTENT_LENGTH : Opcionalmente proporciona la longitud, en bytes. Está disponible solo para requests POST.
  • CONTENT_TYPE : opcionalmente proporciona el tipo de contenido, es decir, el tipo de datos del contenido.
  • HTTP_COOKIE : devuelve las cookies del visitante, si una está lista dentro del tipo de clave, intente.
  • HTTP_USER_AGENT : el tipo de navegador del visitante. Su campo de encabezado de solicitud contiene información sobre el agente de usuario que origina la solicitud.
  • PATH_INFO : proporciona el rastro para el script CGI.
  • REMOTE_ADDR : La dirección científica del visitante, es decir, la dirección científica del host remoto que crea la solicitud.
  • REMOTE_HOST : el nombre de host del visitante, es decir, el nombre totalmente calificado del host que crea la solicitud

Publicación traducida automáticamente

Artículo escrito por 08shubhambhandari08 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *