Cómo tienes algunos conocimientos de programación, haremos juntos el ejemplo básico
de todo curso, el programa "Hola Mundo".
Como resultado obtendremos una página html que dirá solamente eso, "Hola Mundo".
Al igual que en casi todo lenguaje de programación este programita es muy sencillo.
El código básico en lenguaje C es:
/* Programa Hola Mundo */
/* Autor: Juan Manuel Doren */
/* Compilar en unix con: gcc -i hola.c -o hola.cgi */
int main(){
printf("Content-Type: text/html\n\n");
printf("<html>Hola Mundo</html>\n");
return( 0 );
}
|
Ejecutando este programa desde un browser se obtendrá una página
conteniendo:
<html>Hola Mundo</html>
|
Sin embargo como puedes notar en el código hay una primera línea que debería imprimir:
La salida de esta primera línea de código es efectivamente recibida por el browser y le indica
que tipo de información viene enseguida. Un CGI puede enviar código html, imágenes, sonido y en general
cualquier tipo de archivo que se usa en Internet y es esta línea la que indica al browser como debe interpretar los datos que recibirá.
Adicionalmente el browser recibe otra información como el largo de los datos o cookies que se desean grabar, todo esto en forma de un encabezado
que no será visible. El final de este encabezado está marcado por dos retornos de marcas de fin de línea ("\n\n") siguiendole inmediatamente los datos.
Un documento html típico recibido por un browser puede verse así:
HTTP/1.0 200 OK
Date: Fri, 08 May 1998 19:18:41 GMT
Server: Apache/1.2.5 mod_perl/1.07
Last-Modified: Tue, 07 Apr 1998 19:22:57 GMT
ETag: "7807b84a-1d52-352a7d11"
Content-Length: 7506
Accept-Ranges: bytes
Content-Type: text/html
X-Pad: avoid browser bug
<HTML>
[ ... etc. ]
|
Por el momento, al construir un cgi solo será necesario preocuparse de la línea destacada en rojo ya que las demás son
colocadas por el browser indicando entre otras cosas que protocolo usa, la fecha del documento (así sabe el browser si bajarlo o usar alguna versión guardada en el caché),
el largo de los datos (así el browser puede indicarnos el porcentaje que ya ha bajado) y otra información que no nos interesa de momento.
Algunos de los encabezados más frecuentes son:
 |
Encabezado | Significado (MIME TYPE) |
text/html | Documento html |
Location: url | Desvia al visitante a otra dirección |
image/gif | Imágen del tipo: .gif |
text/plain | Documento de Texto |
image/jpeg | Imágen del tipo: .jpeg .jpg .jpe |
audio/x-wav | Sonido .wav |
audio/midi | Sonido .mid |
video/mpeg | Video .mpeg .mpg .mpe |
video/quicktime | Video Quicktime .qt .mov |
video/x-msvideo | Video .avi |
video/x-sgi-movie | Video .movie |
audio/basic | Sonido .au .snd |
application/zip | Archivo .zip |
application/msword | Archivo Word .doc |
application/msexcel | Planilla Excel .xls |
audio/x-pn-realaudio | (Real)Audio .ram .ra |
|