aasd

Páginas: 6 (1432 palabras) Publicado: 11 de febrero de 2015
1) El protocolo CGI:
El protocolo CGI (Common Gateway Interface) fue creado para establecer un protocolo standard de
comunicación entre el web-server y cualquier lenguaje de programación de forma tal que desde el lenguaje
“x” puedan recibirse datos que el usuario envía usando el método “POST” o “GET” y además el resultado de
la aplicación sea derivado por el web-server al browser.Típicamente para recibir datos se usa alguna
biblioteca o módulo del lenguaje elegido que implementa el protocolo CGI y para enviar datos simplemente
se envían al standard-output desde el lenguaje elegido y el web-server se encarga de redireccionar esto al
browser.
Para ejecutar una aplicación CGI el web-server en general procede de la siguiente manera:
Se toma el “request del browser” y los datos quese envían al server por método “GET” o “POST” se
pasan a variables de ambiente.
El server redirecciona su salida standard al browser.
El server crea un proceso (Fork) (que tiene la salida standard redireccionada)
El server ejecuta en el proceso creado la aplicación deseada.
Se ejecuta la aplicación
Cuando la aplicación termina de ejecutarse el proceso muere. Dentro de la aplicaciónse usa algún
mecanismo para recuperar los datos enviados por el browser desde las variables de ambiente (todos los
lenguajes manipulan variables de ambiente). El protocolo CGI justamente consiste en especificar de que
forma los datos enviados por el browser se convierten en variables de ambiente, esto en general es
transparente al usuario.
De esta forma pueden realizarse aplicaciones para unweb-site en casi cualquier lenguaje, los lenguajes
interpretados rápidamente ganaron terreno ya que tienen un ciclo de desarrollo en tiempo inferior a los
lenguajes compilados y son más fáciles de debuggear dentro del ambiente CGI.
Los lenguajes no interpretados (C, C++) tienen como ventaja que requieren menos recursos del server al
generarse el proceso CGI (no hace falta un interprete) yademás suelen ser mucho más veloces en su
ejecución (no se necesita interpretar nada), sin embargo el desarrollar y debuggear suelen ser tareas muy
complejas y no siempre se justifica el esfuerzo si la aplicación es pequeña. En los comienzos de la web la
gran mayoría de las aplicaciones se encontraban en la categoría chica / muy chica por lo que la eficiencia no
era un factor importante y por esolos lenguajes compilados no se utilizaron demasiado.
La desventaja de las aplicaciones CGI consiste en que el server debe realizar un fork, y ejecutar la aplicación
o bien el interprete de la aplicación, y este ciclo que se cumple cada vez que se ejecuta la aplicación CGI
insume muchos recursos y en general es costoso en tiempo para el server. Durante muchos años este esquema
no muy eficientedominó ampliamente el mundo de las aplicaciones Web.
Generación de web sites dinámicos usando PHP.
Uso de una API del servidor:
Otra técnica factible consiste en utilizar una API (application programming interface) provista por el webserver
para desarrollar aplicaciones, es decir que el web-server provee un lenguaje en el cual se pueden
desarrollar aplicaciones. Este esquema, como podemosapreciar, es mucho más eficiente que el anterior ya
que el web-server es el encargado de ejecutar las aplicaciones en forma directa sin necesidad de crear un
proceso. Las desventajas son sin embargo importantes: en primer lugar las aplicaciones creadas en este marco
no son portables ya que sólo pueden ejecutarse en un web-server determinado, esto es una gran desventaja
frente a las aplicacionesCGI que podían una vez desarrolladas ejecutarse en cualquier servidor. La segunda
gran desventaja es que frecuentemente un error de programación de una aplicación podría ocasionar que el
web-server deje de funcionar, genere un error, se cuelgue, pierda memoria u otros problemas. Esto ocasiona
que este tipo de aplicación no sea confiable.
Uso de un “módulo del web-server”
La tecnología más...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • aasdas
  • aasd
  • Aasd
  • aasd
  • Aasdas
  • Aasd
  • Aasd
  • aasd

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS