Necesito informacion sobre Server Side

MARTINEZ CORDERO JOSEEDUARDO jeduard@servidor.unam.mx
Thu, 9 Oct 1997 16:19:00 -0600 (CST)


Hola. :)

> Necesito hacer una pagina HTML en la cual una parte, se rellene con un
> texto generado "al vuelo" por un script cgi en Perl.
> Los ejemplos que he visto hacen uso del tag EXEC, pero en mi implementacion
> no me funciona.
> Uso dentro de la pagina HTML, algo asi como lo que sigue:
> <!-- #exec cgi="pathalcgi.pl" -->
> y no pasa nada, ni error ni resultados.

Esto que estas tratando de hacer se conoce como SSI ( Server-Side 
Includes ), el cual tiene que ver realmente poco con CGI's.
SSI es una tecnica usada por algunos servidores WEB para los resultados de la 
ejecucion de algun programa, archivos o de expresiones dentro de los 
documentos que le envia al cliente (browser).
Algunos servidores no implementan el uso de SSI, porque?, bueno
una de las razones para limitar el uso de SSI en los documentos es el 
desempe&o del servidor.
El objetivo del servidor WEB es proporcionar los documentos rapida 
y eficientemente. Si se usa SSI, entonces el servidor primero tiene que 
buscar dentro del documento solicitado alguna linea (ocurrencia) que 
contenga comandos de SSI ( <!-- #exec cgi="pathalcgi.pl" --> ), manda 
ejecutar el programa, para "pegar" el resultado al documento y cuando 
haya terminado de buscar en el documento y pegar todo, es cuando el 
resultado es mandado al browser para que este lo despliege al usuario.
Se habran dado cuenta de que todo esto consume tiempo por lo que puede 
llegar a influir negativamente en el desmpe&o del servidor.


> 
> Quisiera saber:
> 
> a) Es esta la unica manera de hacerlo o puede haber otras.

No es la unica manera de hacerlo.
Una solucion puede ser:
Supon que tienes un documento que en la parte central quieres poner lo 
que te genera el CGI.
 

   +-----------------+
   |  UNO.html       |       Genera un archivo que contenga la primera parte.
   +-----------------+
   | Resultados CGI  |
   +-----------------+
   | DOS.html        |       Y otro diferente con el final del documento.
   +-----------------+

Haz tu CGI de tal manera que lea el contenido del primer archivo y lo 
muestre, muestra los resultados y vuelve a leer el otro archivo.

open ( HEADER, "UNO.html" );
while (<HEADER)) { print; }
close ( HEADER );
print "Esta es la parte dinamica";
print "de mi CGI!<br>\n";
print 5 * 4;
open ( FOOTER, "DOS.html" );
while (<FOOTER>) { print; }
close (FOOTER);

> 
> b) Si esa es la manera de hacerlo, el server o el navegador, deben cumplir
> algun requisito en particular? Cuales?

No hay problema con el browser, todo esta de lado del servidor, y no 
todos soportan SSI, no se si alguien mas sepa de otro servidor pero el  
unico que conozco que lo soporta el el de NCSA.

Espero sirva de algo.
Saludos desde este lado de la red.

-----------------------------------------------------------------------------

    Universidad Nacional Autonoma de Mexico. 
    Direccion General de Servicios de Computo Academico.
    
    J. Eduardo Martinez Cordero   
    email: jeduard@servidor.unam.mx

   ! MEXICO, PUMAS, UNIVERSIDAD !

   Do or do not...there is no try.
   YODA - The Empire Strikes Back -
_____________________________________________________________________________