¿Qué son los scripts CGI y cómo mejoran los sitios web?

¿Qué son los scripts CGI y cómo mejoran los sitios web? / Programación

CGI representa Interfaz de Entrada Común. Es un protocolo estándar para que los servidores web ejecuten programas y generen resultados para los navegadores web Los mejores navegadores web para Windows Los mejores navegadores web para Windows ¿Cuál es su navegador web predeterminado? A pesar de que tenemos muchas opciones, la mayoría de nosotros nos limitamos a los jugadores principales probados y probados. ¿Cuáles son las mejores alternativas para el uso de recursos, la velocidad y la seguridad? Lee mas . El programa se conoce como un programa CGI (o una secuencia de comandos CGI Ahorre tiempo y esfuerzo automatizando GIMP con secuencias de comandos Ahorre tiempo y esfuerzo automatizando GIMP con secuencias de comandos Automatizar acciones con secuencias de comandos de Python en GIMP puede ahorrarle una tonelada de tiempo. no es fácil empezar, pero una vez que conozca estos conceptos básicos, ¡estará en el buen camino! Lea más). Se ejecuta en nombre del servidor web para producir resultados cuando el navegador web del usuario solicita una URL en particular.

Beneficios de los CGIs

Un CGI mejora un sitio web de muchas maneras. A partir de la autenticación de un usuario para proporcionar una aplicación de compra a gran escala, los CGI son el núcleo de la dinámica e interactiva de la web. Los siguientes son algunos de los principales beneficios de usar CGI para mejorar la experiencia del usuario..

  • Personalizado para el usuario: La salida puede ser personalizada para cada usuario. Por ejemplo, un usuario puede estar comprobando los saldos de sus cuentas bancarias, que pueden necesitar recuperarse de la base de datos.
  • Otros tipos de personalización: El usuario puede estar usando un teléfono móvil para acceder al sitio web, y la salida debe ajustarse para la resolución del teléfono móvil.
  • Haciendo actualizaciones: Una actualización se realiza como resultado de un formulario POST (se explica a continuación). Por ejemplo, puede estar actualizando su estado de Facebook.
  • Subiendo archivos: Un archivo cargado por un usuario necesita un CGI en el extremo del servidor para manejar la solicitud de carga del archivo para almacenar el archivo en una ubicación particular.
  • Generando salida: Además de la salida mostrada en el navegador, muchos sitios web ofrecen formas adicionales de salida, como Word Document, PDF, etc. Es posible que algunos CGI generen sobre la marcha algunos de estos documentos, como su factura telefónica o el extracto de su tarjeta de crédito..

Servir archivos estáticos frente a CGIs

Un archivo HTML 17 Ejemplos de código HTML simple que puede aprender en 10 minutos 17 Ejemplos de código HTML simple que puede aprender en 10 minutos Si conoce las siguientes 17 etiquetas HTML (y las pocas adicionales que las acompañan), podrá cree una página web básica desde cero o modifique el código creado por una aplicación como ... Leer más (así como JavaScript Java vs. JavaScript: todo lo que necesita saber Java vs. JavaScript: todo lo que necesita saber Java y Javascript comparten algunas cosas en comunes, pero son más diferentes entre sí que iguales. En esta publicación, exploraremos algunas de estas diferencias. Leer más y CSS 10 Ejemplos de código CSS simple que puede aprender en 10 minutos 10 Ejemplos de código CSS simple Usted Puede aprender en 10 minutos Repasaremos cómo crear una hoja de estilo en línea para que pueda practicar sus habilidades de CSS. Luego, pasaremos a los 10 ejemplos básicos de CSS. ¡Desde allí, su imaginación es el límite! directamente por el servidor web. Un programa CGI, por otro lado, es ejecutado por el servidor web cuando se solicita una URL particular. Se utiliza para cumplir con solicitudes que necesitan acceso a información dinámica, como la que reside en una base de datos. Un ejemplo sería autenticar a un usuario para permitir el acceso: el nombre de usuario y la contraseña podrían almacenarse en una base de datos, y una solicitud para validar al usuario tendría que acceder a esta información. Para atender esta solicitud, el servidor web ejecutaría un programa CGI que buscaría la información y validaría al usuario.

Configurando servidores web

Un servidor web ejecuta el software de servidor HTTP que proporciona la capacidad de entregar archivos HTML, así como ejecutar programas CGI para generar resultados sobre la marcha. El software del servidor HTTP está configurado por el administrador del servidor web para ejecutar programas específicos cuando se solicitan URL que coinciden con patrones específicos.

Ejecutando CGIs

Cuando el navegador de un usuario realiza una solicitud a una URL particular, el navegador envía una gran cantidad de información, en forma de encabezados HTTP y posiblemente el cuerpo HTTP. Algo de esto puede incluir:

  • El tipo de navegador
  • El nombre del usuario si el usuario ha iniciado sesión
  • Cualquier cookie previamente almacenada por el servidor web.
  • Variables de formulario si la solicitud es una solicitud POST

Cuando se ejecuta un CGI para cumplir con esta solicitud, el servidor pasa toda esta información al programa CGI. El CGI puede usar parte o toda esta información para manejar la solicitud y personalizar la salida para el usuario.

Manejo de formularios POSTs

Un uso principal de CGI es procesar formularios HTML.

Un formulario HTML es un dispositivo de interacción con el usuario y proporciona una variedad de controles para que el usuario pueda proporcionar información. Cuando el usuario hace clic en un Enviar botón (o algo similar) en el formulario, el navegador web agrega la información en el formulario y la envía a la URL de destino indicada en el formulario. El servidor web, a su vez, normalmente invoca un programa CGI y envía toda la información recopilada del usuario. Esta interacción se denomina formulario POST, un término técnico que indica el método para enviar el contenido del formulario al CGI. El CGI procesa el contenido del formulario y produce una respuesta adecuada para enviar al navegador.

Una muestra de cgi

La siguiente es una muestra de un programa CGI escrito en python 5 razones por las que la programación en Python no es inútil 5 razones por las que la programación en Python no es inútil Python: o te encanta o lo odias. Incluso puedes moverte de un extremo a otro como un péndulo. En cualquier caso, Python es un lenguaje sobre el que es difícil ser ambivalente. Lee mas . Se puede implementar en un servidor web para que sea accesible desde una URL similar a: http://www.example.com/cgi-bin/env.cgi. Cuando se invoca, el CGI informa todas las variables que recibió en su entorno desde el servidor web. Esto es tan simple como un programa CGI puede obtener.

#! / usr / bin / python import os print "Content-type: text / plain \ n" para la clave en os.environ: print key, "=> \" ", os.environ [key]," \ "" 

La evolución de los CGIs.

Los CGI han sido parte de los servidores web desde casi el principio de la web. El primer servidor web, el servidor web NCSA HTTPd, comenzó con el soporte para servir solo archivos estáticos. Posteriormente, se reconoció que la ejecución de un script en respuesta a una solicitud de URL permitía al servidor web generar contenido dinámico, y nació la especificación CGI.

Los primeros programas CGI fueron scripts simples escritos en un lenguaje como Perl, TCL, Shell, etc. También podrían escribirse en un lenguaje compilado como C / C ++, pero esto requería un paso adicional de compilación del programa para crear el ejecutable. CGI.

A medida que los CGI se vuelven más complejos, y las demandas del usuario aumentan. Creación de interfaces web: dónde comenzar a crear interfaces web: dónde comenzar Le mostraremos cómo se desglosan las interfaces web, luego señalaremos los conceptos clave, las herramientas y los bloques de construcción necesarios para Hazte un diseñador web del siglo XXI. Lea más, se reconoció que crear un proceso CGI separado para atender cada solicitud era demasiado pesado en términos de la memoria y la sobrecarga de la CPU. Especialmente cuando el servicio de la solicitud lleva menos tiempo que la sobrecarga de crear un nuevo proceso.

En este punto, los servidores web empezaron a integrar intérpretes de scripts completos para que las solicitudes de los usuarios pudieran manejarse de forma separada. hilo dentro de un único proceso de servidor web. Esto mejoró la eficiencia del servicio de solicitud y redujo los tiempos de respuesta.

Esto coincidió con la llegada de nuevos lenguajes específicamente diseñados para la web, como PHP. El intérprete de PHP comenzó la vida como un programa CGI en sí mismo. Como parte del procesamiento de la solicitud, analiza el archivo solicitado para las directivas de PHP y ejecuta los comandos en él..

Hoy, además de los scripts CGI, hay muchas tecnologías utilizadas para ejecutar código en el servidor en respuesta a una solicitud.

¿Está utilizando scripts CGI en alguna parte del sitio web de su empresa? ¿Ha enfrentado algún problema en particular con la implementación o el mantenimiento de scripts CGI? Comenta abajo en los comentarios..

Explorar más sobre: ​​Desarrollo web.