![]()
| Questo e' uno script molto semplice: #!/bin/sh #Filename: Salve.sh.cgi echo "<HTML><HEAD><TITLE>Salve Rete!</TITLE></HEAD>" #HTML body ECHO "<BODY><H1>Salve Rete!</H1></BODY></HTML>" SpiegazionePrima di tutto devi sapere che di solito uno script CGI:
Ok, ora vediamo la prima riga: #!/bin/sh Il primo simbolo (#) e' un carattere speciale usato per definire una riga di commento, e l'interprete dello script non la eseguira'. Comunque questa e' una riga molto speciale, e devi scriverla all' interno di TUTTI gli script CGI. Se ometti questa riga, non potrai eseguire lo script. Infatti questa riga specifica al server web QUALE interprete deve usare e DOVE trovarlo. In questo esempio stai specificando che vuoi usare il linguaggio della Bourne Shell (scritto da Steve Bourne) tramite 'sh' e che l' interprete del linguaggio si trova nella directory: '/bin' (questa e' una directory speciale dove sono contenuti parecchi comandi Unix). Bene, ho appena detto che '#' definisce un commento. E' giusto, ma quando usi il simboloI '!' non e' piu' vero...Percio' tramite la riga '#!/bin/sh' stai dicendo: 'Ehi, server! Usa l' interprete della shell Bourne per eseguire questo script! Puoi trovarlo in /bin...'. Bene, la seconda riga e' solo un commento, ma la terza
riga: STAMPA la riga 'Content-type: text/html' sullo stdout (standard output). Stiamo parlando di sistemi Unix e qui c' e' un file speciale chiamato 'standard output' che di solito indica lo schermo. Beh, non e' proprio cosi', infatti un server web e' composto da: sistema operativo (di solito Unix), server web (un programma software) ed eventualmente alcuni script CGI. Lo script CGI stampa i dati sullo standard output (lo schermo sui sistemi Unix) ma il server web legge l' output dello script. Non devi necessariamente conoscere i dettagli del sistema operativo Unix per costruire un semplice script CGI, devi solo sapere che devi seguire alcune regole (infatti la CGI e' solo un insieme di regole...). Ad ogni modo lo script CGI dice al browser che sta per inviare un spemlice file di testo, e che quel file e' un documento HTML tramite l' intestazione Content-type (se non lo specifichi il browser web leggera' il file come un semplice file ASCII e tu non vedrai la pagina web). Ecco aluni cormati di file abbastanza comuni:
I formati specificate qui sopra sono
chiamati anche tipi MIME. MIME sta per Multipurpose
Internet Mail Extension e venne originariamente
sviluppato per espandere le possibilita' offerte dal
sistema di posta elettronica. Ci sono 3 tipi di
intestazione: Content-type, Location e Status. A volte
non hai la necessita' di dover scrivere delle pagine HTML
'al volo', perche' puoi inviare al browser web una pagina
web scritta precedentemente. Cosi' puoi specificare al
server web dove puo' trovare la pagina. In questo caso
puoi usare l' intestazione 'location'. Per esempio: La quarta riga e' necessaria per stampare un paio di caratteri newline. Questa e' una regola: dopo il content-type devi stampare 2 newline (echo stampa 1 newline, cosi' la riga precedente - la terza - scrive il primo newline, e questa riga - la quarta - stampa il secondo newline). Questo perche' il server web usa 2 newline per rilevare la fine dell' intestazione (che puo' essere content-type, location o status). Infine ci sono i tag HTML che definiscono la pagina web che visualizza: Salve Rete! Quello che segue e' lo stesso script scritto in PERL: #!/usr/bin/perl #HTML body ECHO "<BODY><H1>Salve Rete!</H1></BODY></HTML>" |
![]()
| <<<indietro | Home | CGI | avanti >>> |
Copyright © 1998-99 M. Silvestri