Leggi l'undicesimo capitolo

12. Partecipare alla rete


Segnalibro
  1. Che cos'è una "home page"? Come posso creare la mia?
  2. Come posso scrivere miei ipertesti e metterli in rete?
  3. Come funziona l'HTML? Come posso impararlo?
  4. Da cosa è determinato esattamente l'aspetto assunto da un ipertesto?
  5. Come è opportuno organizzare un sito?
  6. Come si inserisce una immagine in un ipertesto?
  7. Che cosa sono i GIF trasparenti, interlacciati o animati?
  8. Che cos'è un BACKGROUND (fondale)?
  9. Che cosa sono i frame (riquadri o cornici)?
  10. Che cos'è una FORM (modulo)? Come posso inserirne una?
  11. Come posso far eseguire dei programmi quando le mie pagine vengono lette?
  12. Come posso sapere quante persone accedono alle mie pagine e avere informazioni su di esse?
  13. Come posso aggiornare in tempo reale il contenuto di una pagina?
  14. Come posso diffondere l'indirizzo del mio sito?
  15. Come posso creare un nuovo newsgroup?
  16. Come posso creare una mailing list?
  17. Come posso creare un news server?
  18. Come si crea e si gestisce un canale IRC?
  19. Come posso creare un mio sito con un nome a piacere (es. www.pippo.it)?
  20. Come posso registrare un mio dominio con un nome a piacere (es. pippo.it)?

Segnalibro 12.1. Che cos'è una "home page"? Come posso creare la mia?

Con il termine home page si indica una pagina del World Wide Web che costituisce l'indice generale e il punto di ingresso di un sito o di una sua parte, omogenea per autore o per argomenti trattati. Essa è quindi la pagina che vedete comparire quando inserite l'indirizzo base di un computer (es. http://www.polito.it/) o dell'area di un utente (http://www.polito.it/~bertola/). All'interno della home page sono posti i rimandi che permettono di addentrarsi nelle altre pagine di quel sito o di quell'utente. Per estensione, per home page personale di un utente si intende spesso tutto l'insieme delle pagine in cui egli descrive se stesso e gli argomenti a cui è interessato.

Quasi tutti gli utenti, dopo avere imparato ad usare la rete, desiderano creare la propria home page, in modo da disporre di una propria "casa virtuale" nella quale si può essere visitati dai navigatori di tutto il mondo. In essa, ciascuno può parlare dei propri hobby, mettere a disposizione degli altri informazioni o materiale utile o divertente, e sbizzarrirsi nel comunicare con gli altri; per questo motivo la creazione della propria home page è una delle attività più divertenti che si possano fare con Internet.

Per creare la propria home page è necessario per prima cosa disporre di uno spazio fisico in cui collocarla, ossia di un'area (personale, di un amico, pubblica...) sull'hard disk di un computer che sia connesso in permanenza alla rete. Se, come la maggior parte degli utenti, si dispone di un semplice accesso via modem, va subito detto che non si può creare la propria home page direttamente sul proprio computer, in quanto esso fa parte della rete solo quando voi siete collegati, e quindi - anche ammettendo di predisporre le cose per bene - la vostra pagina non sarebbe leggibile quando non siete collegati! È necessario quindi chiedere al proprio provider uno spazio sulle sue macchine; certi provider lo includono nel prezzo dell'abbonamento, molti altri invece richiedono una quota aggiuntiva, per cui se ci tenete ad avere la vostra pagina questo può essere un elemento da valutare nella scelta del provider.

Esistono al momento alcuni siti che forniscono gratuitamente spazio per mettere in linea le proprie pagine WWW. Il più noto e frequentato di essi è Geocities (http://www.geocities.com/) - del quale, peraltro, si dice da mesi che stia per diventare a pagamento; in Italia, esiste Zuzzurello (http://www.zuzzurello.com/). Ovviamente, le modalità di inserimento delle pagine e di prenotazione degli spazi in questo tipo di siti sono molto variabili; è necessario leggere le opportune indicazioni in loco.

Oltre a questo, sul computer dove creerete la vostra pagina deve essere in funzione un programma server per il protocollo HTTP; ne esistono per tutti i sistemi operativi, dallo Unix a Windows. Quando tale programma non è in esecuzione, nessuno può leggere le vostre pagine, anche se il computer è connesso alla rete! In generale, comunque, non sarete voi ad occuparvi dell'installazione e del funzionamento di tale programma: se inserirete le vostre pagine su di un computer (sito) in cui ve ne sono già altre, sicuramente esiste un webmaster (amministratore delle pagine Web del sito) che si prende cura degli aspetti tecnici, e a cui potrete comunque rivolgervi per aiuto e chiarimenti. Normalmente, egli può essere contattato all'indirizzo di posta elettronica webmaster@dominio.

Dopo di ciò, dovete soltanto scrivere le vostre pagine e porle nello spazio di cui disponete. Normalmente, la vostra pagina avrà un indirizzo del tipo

http://nomemacchina/~login/

dove login è appunto il nome utente con cui vi collegate al server su cui avete lo spazio. Molto spesso, lo spazio vi sarà dato sotto forma di area Unix; in questo caso, esistono alcune convenzioni su come chiamare e posizionare i file nell'area.

In alternativa, specialmente su siti come Geocities, gli indirizzi sono organizzati in modo diverso. Molto spesso il sito è organizzato come una città virtuale, ossia come un insieme di sottosezioni aventi caratteristiche diverse, e gli utenti possono posizionare le proprie pagine in un "quartiere" a scelta.

Normalmente, il server HTTP è configurato in modo che, quando si inserisce un indirizzo corrispondente a una directory, venga restituito, se esistente, il file denominato index.htm o index.html, invece che l'elenco dei file contenuti nella directory. Per questo motivo, è opportuno utilizzare tale nome per realizzare le pagine introduttive di ciascuna directory.


Segnalibro 12.2. Come posso scrivere miei ipertesti e metterli in rete?

Dopo esservi procurati lo spazio in cui inserire i vostri ipertesti, non vi resta che scriverli! Su Internet, gli ipertesti vengono generati tramite un particolare linguaggio detto HTML (HyperText Markup Language): una possibilità per generare ipertesti è quindi quella di imparare tale linguaggio, opzione di cui si tratterà più approfonditamente nel prossimo paragrafo.

Negli ultimi tempi, comunque, sono stati prodotti alcuni programmi che permettono di scrivere gli ipertesti come se si trattasse di normali documenti, all'interno di una specie di word processor; il programma si occupa poi automaticamente di "tradurre" il vostro documento nel linguaggio HTML. In questo ambito rientrano in particolare Internet Assistant for Word, una estensione di Word per Windows 95/6.0 che permette di tradurre i normali documenti .DOC in HTML, e Netscape Navigator Gold, una versione particolare di Netscape che include oltre alle normali possibilità di navigazione anche un editor di ipertesti (nella versione 4 di Netscape l'editor si chiama Composer ed è incluso nella versione base). La Microsoft è stata recentemente molto attiva in questo settore; in particolare, i prodotti di Microsoft Office 97 (come Word 97 o Excel 97) permettono di convertire automaticamente qualsiasi documento in HTML; se difatti, installando il pacchetto, si sono installate anche le estensioni per Internet, si disporrà di una opzione Salva come HTML nel menu File. Inoltre, essa ha pubblicato il programma FrontPage - e la versione ridotta FrontPage Express - dedicato interamente alla realizzazione di siti WWW. Utilizzando questi programmi, potete realizzare pagine senza conoscere una sola istruzione HTML: si tratta quindi di un'ottima scelta per realizzare le vostre prime pagine, anche se con essi non riuscirete ad inserire grandi finezze nell'aspetto delle vostre pagine.

In alternativa, esistono programmi meno evoluti, ossia normali editor di testo a cui sono state aggiunte opzioni di menu che inseriscono automaticamente le istruzioni HTML; per utilizzarli è quindi opportuno masticare un po' di HTML, ma non sarà necessario conoscerlo a fondo come invece si deve fare avendo a disposizione soltanto un editor di testo. Il più comodo programma di questo tipo è HTML Writer, che incorpora anche una funzione di conversione delle lettere accentate molto utile per gli autori italiani. Altri programmi consigliati in rete sono WebEdit e Hot Dog Pro.

Normalmente, utilizzerete il vostro PC per scrivere le pagine HTML e testarle localmente, senza essere connessi in rete. Purtroppo, non tutto può essere provato in locale, caricando direttamente i file dal browser: alcune caratteristiche, come i programmi CGI e le inclusioni, richiedono la presenza del server HTTP, e non potrete quindi effettuare alcun test, a meno di non disporre di una copia locale del vostro server (ad esempio installando Linux sul vostro PC). Inoltre, tenete presente che i link che puntano a nomi di directory - che, una volta messi sul sito, provocheranno normalmente il caricamento del file index.html posto nella directory stessa - se selezionati mentre si testano le pagine in locale provocheranno invece la visualizzazione dell'elenco dei file contenuti nella directory sull'hard disk. Per poter effettuare il test in locale, inoltre, è necessario utilizzare esclusivamente indirizzi relativi nei rimandi.

Dopo avere in qualche modo generato i vostri ipertesti, sarà sufficiente uploadarli nel vostro spazio in rete perchè essi siano immediatamente visibili tramite browser, digitando l'indirizzo giusto. Su un server Unix, potreste forse avere qualche problema di attributi dei file, che potrebbe provocare degli errori di "Not found" o "Access forbidden". Se il programma server HTTP è correttamente configurato, non sarà necessario null'altro; in caso di comportamenti strani, rivolgetevi al webmaster del vostro sito.


Segnalibro 12.3. Come funziona l'HTML? Come posso impararlo?

Innanzi tutto, come detto nel paragrafo precedente, al giorno d'oggi non è più strettamente necessario imparare l'HTML per realizzare pagine WWW. Tuttavia, per realizzare siti un po' evoluti o per avere un controllo più preciso del risultato è opportuno imparare il linguaggio e modificare a mano le proprie pagine.

Gli ipertesti HTML sono normali file di testo ASCII, che possono essere modificati ad esempio con il Blocco Note (Notepad) di Windows, oppure con Word caricando e salvando i file in formato "Solo testo". Tuttavia, all'interno del testo sono previste delle tag (istruzioni), racchiuse tra i caratteri < e >, che permettono di modificare l'aspetto del testo in modo che, quando il file viene caricato da un browser, venga visualizzato con l'impaginazione e le caratteristiche desiderate. Ad esempio, il seguente brano:

La <B>corrente elettrica</B> deriva da un moto di cariche.
viene visualizzato da un browser nel modo seguente:

La corrente elettrica deriva da un moto di cariche.

In questo brano, si può notare l'utilizzo della tag B (Bold, ossia "neretto") per creare alcune parole in neretto; la parte che verrà evidenziata è compresa tra la tag di apertura <B> e la tag di chiusura (uguale a quella di apertura, ma preceduta da /) </B>. Per il resto, il testo contenuto nel file è esattamente quello che verrà visualizzato!

Esistono ovviamente un grande numero di tag; alcune di esse richiedono una "apertura" e una "chiusura", come nel caso di B, e modificano il senso o l'aspetto del testo racchiuso all'interno; altre sono tag vuote, ossia poste in un punto e prive di tag di chiusura, e servono a creare un oggetto particolare o a svolgere una operazione in quel punto del documento (ad esempio la tag <HR> è vuota e serve a creare una riga orizzontale). Molte tag possiedono degli attributi, ossia dei parametri modificando il cui valore è possibile variare il risultato. Ad esempio, la suddetta tag <HR> dispone dell'attributo WIDTH, che ne modifica la larghezza, dell'attributo SIZE, che ne modifica l'altezza, e dell'attributo ALIGN, che ne modifica la posizione; se quindi la tag <HR> da sola (ossia, utilizzando per i vari attributi i valori di default) genera questo risultato:


la stessa tag, scritta come <HR WIDTH="50%" SIZE=10 ALIGN=right> (ossia modificando i valori degli attributi) genera questo risultato:

Se non si dispone di un programma che genera automaticamente un file HTML partendo da un documento impaginato, è necessario imparare le varie istruzioni; la stessa cosa è comunque necessaria per scrivere pagine HTML che incorporino le funzioni più avanzate o sfruttino al massimo le possibilità offerte dal linguaggio. E' comunque necessario tenere presente che non esiste una sola versione dell'HTML; esso ha subito una rapida e tumultuosa evoluzione, in cui gli standard - che, in questo caso, sono editi a cura del W3C - hanno spesso dovuto inseguire le "fughe in avanti" dei produttori di browser - Netscape in testa - che hanno introdotto nuovi comandi e nuove possibilità nelle varie release dei propri browser, senza preoccuparsi che esse venissero preventivamente standardizzate e concordate con il resto del mondo. Come risultato, sebbene esista un set di istruzioni base - più o meno coincidente con le versioni 2.0 e 3.2 dell'HTML "standard" - che è attualmente supportato da tutti i browser, vi sono una varietà di estensioni supportate solo dalle versioni più recenti di Netscape Navigator o di Internet Explorer, oppure implementate in modo diverso nei due browser. A complicare le cose, il W3C ha pubblicato a fine 1997 le specifiche della versione 4.0 di HTML, che mettono ordine nella situazione e prevedono un grande numero di nuove istruzioni, ma che dichiarano superati molti costrutti introdotti autonomamente dai produttori di browser e oggi ampiamente utilizzati in tutte le pagine (ad esempio, gli attributi del comando HR più sopra esemplificati!). Buona parte delle istruzioni dell'HTML 4 sono comunque già incluse nelle versioni più recenti di entrambi i principali browser; d'altra parte, alcune funzioni comunissime - ad esempio i frame - sono state riconosciute dallo standard soltanto in questa versione. Insomma, la conclusione di tutta la vicenda è l'opportunità per chi scriva pagine HTML di testarle approfonditamente con versioni recenti e meno recenti dei più comuni browser, in modo da controllarne la compatibilità.

Bisogna anche tener presente un particolare problema, tipico delle pagine in italiano (e che molti ignorano): poichè il linguaggio HTML è stato pensato per utenti anglosassoni, le lettere accentate devono essere codificate con particolari espressioni in modo da poter essere lette correttamente da tutti gli utenti; se ci si limita a inserire lettere accentate nel documento senza codificarle, non è garantito che esse siano sempre mostrate correttamente. La stessa cosa vale per altri caratteri e simboli che non sono codificati uniformemente in tutto il mondo, nonchè per gli stessi caratteri < e >, che altrimenti si confonderebbero con le istruzioni. Tutti questi caratteri devono venire convertiti in entità (entities), ossia in codici che iniziano con il catattere &, sono seguiti dal nome dell'entità, e terminano con il carattere ;: ad esempio il carattere à viene scritto nel codice HTML come &agrave;. Il programma Html Writer, citato nel paragrafo precedente, incorpora una comoda funzione di conversione dei caratteri estesi (Convert Ext. Chars nel menu HTML) che può essere utilizzata, dopo aver scritto normalmente il documento, per codificare tutte le lettere accentate e gli altri caratteri particolari. Questa conversione, comunque, è realizzata automaticamente anche dai vari programmi come Word o Netscape Composer. In appendice troverete una tabella delle entità HTML più comuni.

L'insegnamento dell'HTML va oltre gli scopi di questa guida, anche se nel seguito di questo capitolo verranno forniti alcune utili informazioni su aspetti particolari di tale linguaggio, che spesso tendono a venire trascurati dai manuali. Per comprendere completamente i paragrafi che seguono è probabilmente necessario avere acquisito un po' di dimestichezza tecnica con i comandi dell'HTML e con le funzioni trattate: difatti il loro scopo non è quello di insegnare come, tecnicamente, realizzare le possibilità indicate, ma piuttosto quello di spiegare quando conviene farlo e come farlo al meglio.

Allo scopo di imparare le basi tecniche dell'HTML, difatti, si possono trovare in rete vari manuali, anche in italiano. Alcuni indirizzi utili (sperando che non vengano disattivati...) sono:

Oltre al materiale elettronico, esistono ottimi libri in italiano, anche se per forza di cose il materiale in rete viene più velocemente aggiornato; anche molte biblioteche civiche o universitarie si sono ormai dotate di libri sull'HTML, per cui vale la pena di provare a cercare.


Segnalibro 12.4. Da cosa è determinato esattamente l'aspetto assunto da un ipertesto?

Contrariamente a quanto si crede, l'aspetto di un ipertesto non è univocamente determinato dal file HTML, ma dipende fortemente dal browser che si sta usando per visualizzarlo. L'autore di un ipertesto ha una libertà abbastanza scarsa nell'impaginazione del documento: si pensi che, allo stato attuale delle cose, non esiste alcun modo di giustificare (allineare su entrambi i lati) un documento, e neanche di creare tabelle di larghezza del tutto predefinita. Questo deriva da un problema più generale, che è quello di rendere leggibili ed utilizzabili gli ipertesti da parte di qualsiasi tipo di computer l'utente stia utilizzando. Ad esempio, si pensi che ogni volta che in un ipertesto si desidera andare a capo è necessario inserire una particolare tag, mentre non è sufficiente inserire un Invio nel corpo del testo: questo perchè i codici di controllo per andare a capo possono variare da computer a computer, pregiudicando così la leggibilità del testo.

Per questo motivo, è anche bene che l'autore di pagine WWW si ponga il problema di come appaiano i suoi ipertesti per tutti i possibili utenti: non solo per chi si collega con Netscape 4 e un monitor a 16 milioni di colori, ma anche per chi si collega da Unix, quindi senza la possibilità di vedere grafica, oppure per chi si collega con un vecchio computer capace di visualizzare soltanto 16 colori a bassa risoluzione, oppure per chi utilizza altri programmi (Internet Explorer) che non supportano tutte le istruzioni implementate in Netscape. Specialmente se ci si sta rivolgendo ad un pubblico generico, è bene prevedere che le proprie pagine siano perlomeno leggibili, anche se magari non perfette, anche per chi si collega con programmi vecchi o computer inadeguati. Tra l'altro, questo è il motivo per cui tutti i principali siti, anche di aziende molto importanti, hanno una home page non più larga di 640 pixel, in modo da essere visitabili correttamente qualsiasi sia il video usato dal navigatore.

In particolare, le versioni più recenti dei browser rendono disponibili varie estensioni all'HTML standard, che non sono leggibili da altri programmi: è bene quindi progettare le cose in modo che le pagine siano ugualmente funzionanti anche per chi usa programmi più vecchi, anche se progressivamente tali programmi dovrebbero scomparire. In caso contrario, è opportuno perlomeno segnalare quali versioni dei browser sono necessarie per poter accedere correttamente ad un sito. Al giorno d'oggi, i frame e le istruzioni JavaScript sono ormai supportati su tutti i sistemi operativi grafici, e si possono quindi utilizzare con relativa tranquillità; i programmi Java, invece, non saranno utilizzabili da molti utenti ancora dotati di Windows 3.x, in particolare nelle aziende e nelle Università, dove l'aggiornamento tecnologico è più lento. Non parliamo poi di estensioni come l'HTML dinamico, che richiede le ultime versioni dei browser! Gli utenti casalinghi aggiornano rapidamente il proprio software, poichè esso può normalmente essere prelevato gratuitamente; ciò non è vero per le aziende, per cui non è possibile dare per scontato che tutti utilizzino sempre il software più aggiornato.


Segnalibro 12.5. Come è opportuno organizzare un sito?

Prima di passare alla realizzazione tecnica delle singole pagine e specialmente se si ha intenzione di creare un sito complesso, è molto importante pianificare una minima organizzazione del sito. È opportuno che la home page vera e propria sia molto breve e contenga soltanto un indice dei contenuti del sito, in modo che essa possa venire caricata velocemente e che l'utente possa poi richiamare soltanto le pagine che gli interessano. Se è vero che una pagina graficamente brutta non fa un bell'effetto, è anche vero che una pagina con molte immagini è lenta da caricare, e può facilmente spazientire gli utenti: bisogna quindi trovare il giusto bilanciamento tra la grafica e la pesantezza. Analogamente, nel caso si debba inserire una pagina molto lunga (più di 10 - 20 KB), è bene valutare se non sia il caso di spezzarla in più piccole pagine collegate tra loro, magari con un indice; tranne casi particolari (ad esempio quando si tratta di un documento con molti collegamenti interni) è solitamente meglio avere molti file piccoli che un solo file grosso. Infine, è opportuno cercare di avere una struttura "verticale" del sito piuttosto che "orizzontale", ossia creare molte sottodirectory ciascuna contenente pochi file, tra cui un index.html, invece di avere una sola directory con un grande numero di file. Questo, oltre a facilitare la vostra manutenzione del sito (difatti tutte e sole le pagine relative allo stesso argomento si troveranno nella stessa directory), vi permetterà di semplificare anche gli indirizzi. Ricordate infine che i file denominati index.html (e/o index.htm: dipende dalla configurazione del server) possono essere richiamati con indirizzi più semplici (basta il nome della directory), per cui è bene sfruttare questa possibilità e porre un file index.html in ogni directory.

Un'altra buona abitudine nell'organizzazione di un sito è quella di creare all'interno della directory radice del sito una sottodirectory denominata images (o nomi simili) in cui porre tutte le immagini che compaiono più volte nel sito (tipicamente le icone). In questo modo, saprete subito dove andare a ritrovare le vostre immagini, e quando dovrete creare i documenti HTML saprete immediatamente dove sono memorizzate; inoltre, in qualsiasi parte del sito il link per richiamare l'immagine sarà sempre <IMG SRC="/images/... (o <IMG SRC="/~nomeutente/images/..., indipendentemente dal livello di profondità della directory in cui sarà posta la pagina, e potrete così brutalmente copiare e incollare i riferimenti alle immagini senza dovervi preoccupare di altro.

Segnalibro Inoltre, è opportuno capire e applicare la differenza fra gli indirizzi relativi e gli indirizzi assoluti (o pienamente referenziati - in inglese fully qualified). Un indirizzo di tipo assoluto è un vero e proprio URL completo, che inizia con il metodo http e via di seguito. Un indirizzo relativo, invece, è un semplice nome di file. Quando create nella vostra pagina un rimando e inserite come obiettivo del rimando (attributo HREF della tag A, ma anche attributo SRC delle tag IMG e FRAME...) un indirizzo assoluto, il browser, quando il rimando sarà selezionato, tenterà di prelevare l'oggetto all'indirizzo indicato, e restituirà un errore se non lo troverà. Se invece l'indirizzo è relativo, il browser cercherà il file indicato nella directory corrente. Qual è la differenza? Semplice: un insieme di pagine contenute nella stessa directory e collegato al proprio interno esclusivamente tramite indirizzi relativi funzionerà indipendentemente dal sito e della directory in cui viene memorizzato, e potrà facilmente essere spostato, replicato su altri siti, distribuito come archivio ZIP (funzionerà persino se caricato dall'hard disk in assenza di un collegamento di rete!). Se invece gli indirizzi fossero assoluti, anche solo la modifica del nome della directory in cui i file sono contenuti costringerebbe a modificare tutti i rimandi contenuti nelle pagine. D'altra parte, l'uso di un indirizzo assoluto permette di far sì che, dovunque venga memorizzato il documento, l'indirizzo richiamato sia sempre lo stesso. Per fare un esempio, i rimandi contenuti in questa guida sono tutti di tipo relativo, ad eccezione dei rimandi alla home page dell'autore, che sono di tipo assoluto: in questo modo, dovunque la guida venga memorizzata il link alla mia home page è sempre corretto.

Oltre agli indirizzi assoluti e relativi, è possibile fornire anche indirizzi "semirelativi", ossia indipendenti dal sito ma dipendenti dalla directory. Questo tipo di indirizzi inizia con la barra diagonale /, e indica che il percorso seguente si intende a partire dalla directory radice del sito. Ecco qualche esempio: supponendo che la pagina in cui sono contenuti i seguenti rimandi abbia indirizzo

http://www.pippo.it/~luigi/tv/programmi/guida.html

varranno le seguenti equivalenze:

Rimando HTML: <A HREF="elenco.html">
Indirizzo richiamato: http://www.pippo.it/~luigi/tv/programmi/elenco.html

Rimando HTML: <A HREF="">
Indirizzo richiamato: http://www.pippo.it/~luigi/tv/programmi/

Rimando HTML: <A HREF="..">
Indirizzo richiamato: http://www.pippo.it/~luigi/tv/

Rimando HTML: <A HREF="/images/ball.gif">
Indirizzo richiamato: http://www.pippo.it/images/ball.gif

Rimando HTML: <A HREF="http://www.pluto.it/~paperino/">
Indirizzo richiamato: http://www.pluto.it/~paperino/

I primi tre rimandi sono di tipo relativo, e, dovunque sia memorizzata la pagina guida.html, porteranno rispettivamente al file elenco.html posto nella stessa directory, al file index.html posto nella stessa directory e al file index.html posto nella parent directory. Il quarto rimando è semirelativo: se la pagina fosse memorizzata, invece che su www.pippo.it, in un qualsiasi punto del sito www.etabeta.it, l'indirizzo richiamato sarebbe http://www.etabeta.it/images/ball.gif (stesso percorso, ma sito diverso). Il quinto rimando è assoluto: in qualsiasi parte del mondo sia memorizzata la pagina chiamante, l'indirizzo richiamato sarà sempre quello.


Segnalibro 12.6. Come si inserisce una immagine in un ipertesto?

Per prima cosa, un fatto che spesso sconcerta i principianti: le immagini, a differenza del testo, non fanno parte del documento HTML; in esso è contenuto semplicemente un "rimando", effettuato tramite la tag IMG, che dice al browser di inserire in quel punto l'immagine memorizzata ad un determinato indirizzo (che può anche appartenere ad un sito diverso da quello su cui è posto il documento!). È quindi necessario procurarsi le immagini a parte, oppure disporre di un programma di grafica che permetta di crearsele - anche se, al giorno d'oggi, la creazione di buone immagini richiede abilità e strumentazione professionale.

A parte questo, è importante tenere presenti alcune questioni fondamentali. Innanzi tutto, evitate di inserire immagini troppo grandi o in quantità eccessiva: renderanno inutilmente pesante e lunga da caricare la pagina, e gli utenti casalinghi o con collegamenti più lenti saranno fortemente tentati di interrompere il caricamento e rinunciare alla visita della pagina. È bene cercare di sfruttare il più possibile altri strumenti forniti dall'HTML o dalle estensioni di Netscape - come la possibilità di modificare colore e dimensioni dei caratteri con la tag FONT, la possibilità di cambiare il colore del fondo e dei link con gli attributi della tag BODY, o i metodi di impaginazione forniti dall'uso di tabelle senza bordo visibile - piuttosto che riempire la pagina di immagini. Può spesso essere più veloce inserire al posto di tante piccole immagini una grande immagine che le contiene tutte, magari trasformata in mappa attiva con l'attributo ISMAP o USEMAP; d'altra parte, è anche un'ottima cosa avere tante piccole immagini se intendete poi "riciclarle" nelle varie pagine del sito, in quanto esse saranno caricate una volta sola: magari, "montando" gli stessi blocchi in modo diverso nelle varie pagine potrete ottenere effetti gradevoli senza appesantire troppo il tutto. Oltre a questo, l'uso dell'attributo ALIGN di IMG permette una discreta varietà di impaginazioni e allineamenti tra immagine e testo.

Ricordate poi di inserire sempre le dimensioni dell'immagine nella tag IMG, grazie agli attributi HEIGHT e WIDTH: questo permetterà al browser di mostrare il resto della pagina caricando poi l'immagine in un secondo tempo, mentre in caso contrario l'utente sarà costretto ad attendere il caricamento dell'immagine prima di poter leggere il testo posto dopo di essa.

Non è necessario che le immagini inserite nella pagina siano fisicamente memorizzate all'interno dello stesso sito che ospita la pagina stessa, anche se ciò è bene per evitare eccessive disparità di velocità di caricamento tra testo e immagini (il cosiddetto net-lag). Tuttavia, se inserite nel vostro sito immagini prese altrove, indipendentemente da dove esse siano memorizzate, assicuratevi di avere l'autorizzazione del loro autore o possessore.

Ricordate infine che per un miglior aspetto grafico delle pagine è possibile utilizzare alcune caratteristiche particolari del formato di immagine GIF, come la trasparenza o l'animazione.


Segnalibro 12.7. Che cosa sono i GIF trasparenti, interlacciati o animati?

Il formato di immagini GIF (Graphic Interchange Format), nella sua versione più recente (GIF89a), include un grande numero di opzioni che solo negli ultimi anni o mesi hanno cominciato a venire utilizzate e implementate in tutti i programmi (sebbene tale formato risalga al 1989). Alcune di queste opzioni sono di grande importanza all'interno delle pagine del WWW.

Un primo tipo di GIF, ormai di uso comune, è il GIF trasparente. Si tratta di una normale immagine in cui uno dei colori viene definito come colore di fondo (background color). Quando l'immagine viene visualizzata da un browser che supporta questa caratteristica - ormai quasi tutti i browser esistenti lo fanno - tutti i punti (pixel) del colore selezionato come fondo vengono visualizzati come "trasparenti", ossia lasciano apparire il puntino corrispondente dell'immagine "sottostante", che tipicamente è lo sfondo, grigio o specificato dall'autore, della pagina. In questo modo, si possono creare delle immagini che non hanno forma quadrata, ma si integrano gradevolmente con il fondo.

Un secondo tipo di GIF interessante è il GIF interlacciato; si tratta di una immagine memorizzata in un modo particolare, ossia non in ordine, dall'alto verso il basso, ma invece memorizzando prima una versione approssimata dell'immagine, e dopo di essa successive integrazioni che permettono poi di ricavare la versione completa. In questo modo, un browser che riceve l'immagine dalla rete può cominciare subito a visualizzare la versione approssimata, anche se ha ricevuto soltanto una frazione del file GIF; man mano che arrivano le successive parti, il browser provvede a ridefinire meglio l'immagine, realizzando così quell'effetto di progressiva "messa a fuoco" dell'immagine che è comune sul WWW, almeno per le immagini di grosse dimensioni. Qualcosa di analogo sta venendo messo a punto anche per il formato JPEG.

Infine, il tipo di GIF più particolare di tutti: il GIF animato. Esso prevede la possibilità di memorizzare in un singolo file GIF non una ma una serie di immagini, che il browser visualizzerà come fotogrammi successivi, creando di fatto una animazione. All'interno del formato sono previste varie opzioni utili per l'animazione; la Netscape ha inoltre provveduto a creare una "estensione per il ciclo" (looping extension) che permette la ripetizione ciclica dell'animazione. In questo modo, si possono realizzare semplici animazioni da inserire nelle pagine, con un rapporto tra "peso" (dimensioni dei file, difficoltà di realizzazione) e prestazioni veramente ottimo. Le animazioni GIF sono supportate solo da Netscape 2.0/Internet Explorer 3.0 o superiori.

Queste possibilità possono essere cumulate tra loro; tuttavia, è necessario disporre di programmi che usino la versione GIF89a del formato GIF, invece della più vecchia GIF87a, usata comunemente. Per quanto riguarda i GIF trasparenti, esiste l'utility per DOS GifTrans, che converte da GIF87a a GIF89a; è tuttavia consigliato il programma LView Pro, per Windows, che dispone della possibilità di salvare GIF interlacciati e trasparenti, selezionando con semplicità il colore di fondo. Conviene solitamente creare l'immagine GIF con un altro programma, e "passarla" in LView solo per effettuare la conversione in GIF89a e la selezione del colore di fondo. Per creare i GIF animati, invece, il programma più semplice disponibile in rete è GIF Construction Set; sarà bene tuttavia leggere le pagine informative sull'animazione GIF, che possono essere raggiunte ad esempio all'indirizzo http://www.poli.studenti.to.it/info/gifanim/.

Un'ultima nota va dedicata ai problemi legali. Il formato GIF è stato originariamente sviluppato nel 1987 per la rete Compuserve dalla Unisys, colosso informatico americano; esso si è diffuso velocemente negli anni, ed è stato liberamente utilizzato da tutti. Nel 1996, tuttavia, la Unisys ha intentato vari procedimenti legali cercando di ottenere il pagamento di royalties da chiunque utilizzasse in qualche modo il formato GIF, anche solo visualizzando immagini in tale formato. Alla fine, sono stati stabiliti degli accordi per cui l'utente finale non deve pagare nulla, ma gli autori di programmi commerciali che trattano questo formato devono pagare i diritti d'autore. Questo è il motivo per cui alcuni programmi di grafica molto diffusi non trattano immagini GIF oppure utilizzano stratagemmi di vario genere (ad esempio estensioni gratuite da inserire nel pacchetto commerciale). Questo è anche il motivo per cui alcune organizzazioni piuttosto sensibili al problema della libera circolazione delle idee e delle informazioni - ad esempio GNU - hanno scelto di non utilizzare mai il formato GIF.


Segnalibro 12.8. Che cos'è un BACKGROUND (fondale)?

A partire dalla versione 1.1 di Netscape, e successivamente in tutti gli altri browser, è stata fornita all'utente la possibilità di specificare un fondale (background) per la propria pagina.

Un fondale non è altro che una comune immagine, che invece di venire visualizzata a parte viene utilizzata come "piastrella" e ripetuta all'infinito per riempire la finestra del browser; il testo, le altre immagini e tutto quel che è posto nella pagina vengono poi "disegnati" sopra di essa. Per questo motivo, è utile scegliere il fondale con criterio:

  1. Utilizzate fondali di dimensioni ridotte; sono normalmente sufficienti quadrati di dimensione non superiore a 50x50, e vi sono ottime pagine con fondali di dimensioni 10x2 ! L'effetto del fondale dipende dallo "schema" che esso realizza quando viene ripetuto, e non dalle dimensioni della piastrella base. L'unica controindicazione è che con piastrelle estremamente piccole la visualizzazione della pagina potrebbe divenire lenta.
  2. Scegliete fondali con contrasto non eccessivo e con colori tenui, in modo da non rendere illeggibile il testo. Ricordate che, con Netscape 2 o superiori, è possibile modificare il colore del testo e dei rimandi con gli attributi TEXT, LINK, ALINK e VLINK della tag BODY.
  3. Controllate l'effetto del fondale con modi video (risoluzioni) diverse e in particolare con modi a basso numero di colori (ad esempio 16). Molte splendide texture (marmi, granati, legno...) diventano orribili e rendono il testo illeggibile se viste con pochi colori - come ad esempio quella usata per il fondo di questa guida nelle primissime versioni (ehm...).
  4. Prima di usare un fondale, valutate la possibilità di usare un fondo di colore uniforme - che, a differenza del fondale, non richiede il caricamento di un'immagine e quindi rende più veloce la visualizzazione della pagina - creato tramite l'attributo BGCOLOR della tag BODY.
Un fondale può essere un ottimo modo per distinguere le vostre pagine dal resto del mondo, cosa sempre auspicabile; tuttavia un cattivo fondale è peggio che nessun fondale.


Segnalibro 12.9. Che cosa sono i frame (riquadri o cornici)?

A partire da Netscape 2.0 e Internet Explorer 2.1, è stata prevista la possibilità di suddividere lo schermo in più aree tra loro indipendenti, ciascuna contenente un diverso documento HTML. In questo modo, è possibile - come avviene in questa guida - mantenere permanentemente sullo schermo alcune parti fisse, come un indice o una pulsantiera, disponendo nel contempo di una o più altre finestre in cui visualizzare le pagine selezionate dall'utente. Ciascuna di queste aree è detta frame (in italiano, riquadro o cornice).

Prima di inserire dei frame nella vostra pagina, è necessario che valutiate se essi sono strettamente necessari. Difatti, il caricamento di una pagina con frame è decisamente più lungo rispetto a quello di una pagina normale, poichè è necessario caricare un documento per ogni riquadro più un documento di impaginazione generale. Inoltre, tutti gli utenti con un browser antiquato o con un accesso a Internet non grafico non potranno vedere la vostra pagina; è possibile creare una pagina alternativa che viene visualizzata solo dai browser che non supportano i riquadri, ma è comunque necessario organizzare con attenzione l'intero sistema di pagine, in modo che funzioni con entrambi i tipi di browser. Analogamente, bisogna gestire molto attentamente le "destinazioni" dei rimandi: per tutte le istruzioni del tipo A HREF..., ossia nei rimandi, è necessario essere sicuri di dove esattamente verrà visualizzato il documento richiamato; in assenza di indicazioni, esso sarà difatti mostrato nello stesso riquadro in cui è posto il documento che conteneva il rimando, ma è possibile indicare al browser di utilizzare un altro riquadro per visualizzare il documento richiamato, tramite l'attributo TARGET della tag. In particolare, un rimando con TARGET="_top" provocherà l'eliminazione dei riquadri e la visualizzazione del documento richiamato nell'intero schermo disponibile, cosa assolutamente necessaria per i rimandi che portano fuori dall'insieme di pagine che deve venire gestito con i riquadri.

Tecnicamente, come già accennato, la creazione di riquadri richiede la stesura di un documento HTML contenente, al posto del BODY, una sezione FRAMESET, che permette di suddividere lo schermo in una griglia di riquadri, e contiene al suo interno due o più istruzioni FRAME, che permettono di dichiarare gli indirizzi dei documenti da visualizzare e il nome di ciascun riquadro (che sarà poi utilizzabile come TARGET); è possibile anche inserire, all'interno della tag NOFRAMES, un documento che viene visualizzato dai browser che non supportano i frame. Per realizzare suddivisioni "asimmetriche" è possibile sostituire ad una istruzione FRAME una nuova sezione FRAMESET, che permette di suddividere ulteriormente il riquadro corrispondente; come esempio potete esaminare il file index.html di questa guida.

L'indirizzo a cui corrisponde una pagina divisa in riquadri è quello del documento di impaginazione; per questo motivo, e per semplificare la gestione del sito, è di solito opportuno porre tale file, insieme a tutte le varie pagine che andranno visualizzate nei riquadri via via che l'utente seleziona i rimandi, in una unica directory, e chiamarlo index.html. L'indirizzo di una pagina con riquadri è sempre quello del documento di impaginazione, e non varia neanche quando l'utente seleziona rimandi che modificano il contenuto di uno o più riquadri; ogni volta che l'utente seleziona l'indirizzo - anche se, ad esempio, l'indirizzo deriva da un bookmark che è stato inserito dopo aver selezionato un certo numero di rimandi e aver modificato il contenuto di uno o più riquadri -, i riquadri verranno sempre mostrati con il contenuto di "default" (quello indicato nel documento di impaginazione). Se non ci credete, potete provare - se state visualizzando questa guida con i riquadri - ad inserire un bookmark e poi a richiamarlo: anche se quando avete inserito il bookmark nel riquadro in basso a destra compariva questo paragrafo, quando lo richiamerete comparirà il messaggio di benvenuto, che è il contenuto di default. (In questa guida, per aggirare il problema esistono i pulsanti segnalibro.)


Segnalibro 12.10. Che cos'è una FORM (modulo)? Come posso inserirne una?

Una form (modulo) è a tutt'oggi il principale modo di ricevere informazioni e comandi da un utente remoto attraverso una pagina Web. Probabilmente questa abitudine è destinata a cambiare con l'avvento di sistemi di programmazione complessa come Java, ma per il momento le form sono comunissime.

Una form è un insieme di "controlli", come caselle di testo, bottoni, pulsanti, menu a tendina, inclusi tra le due tag <FORM> e </FORM>;. Ciascuno di questi controlli viene creato tramite la tag <INPUT>, che possiede vari attributi, tra cui TYPE, che permette di scegliere che tipo di controllo creare, NAME, che permette di fornire un nome con cui individuare il controllo, e VALUE, che fornisce un valore di partenza per il campo, più altri dipendenti dal tipo. La form contiene normalmente un pulsante di tipo submit - solitamente contrassegnato proprio dalla dizione Submit (in italiano, Invia), che se premuto provoca l'invio al server dei dati inseriti nel modulo; spesso è presente anche un pulsante di tipo reset (in italiano spesso contrassegnato con Pulisci) che cancella i dati inseriti fino a quel momento riportando il modulo allo stato originario.

Ecco un semplice esempio di form:

Numero: Base 10 Base 2 Questa form è generata dal seguente codice HTML:

<FORM ACTION="/cgi-bin/pippo.cgi" METHOD="GET">
Numero: <INPUT TYPE="text" NAME="Numero" VALUE="1" SIZE="10">
<INPUT TYPE="radio" NAME="Base" VALUE="Decimale" SELECTED>Base 10
<INPUT TYPE="radio" NAME="Base" VALUE="Binaria">Base 2
<INPUT TYPE="submit" VALUE="Spedisci">
<INPUT TYPE="reset" VALUE="Pulisci">
</FORM>
Segnalibro L'utente può modificare il valore dei vari campi a proprio piacimento; quando è soddisfatto, preme il bottone di tipo submit (voi, però, non provateci con questa form!). In tale momento, il browser legge il contenuto dei vari campi e genera una stringa del tipo

nome1=valore1&nome2=valore2&...

dove nome1, nome2... sono i NAME dei vari campi contenuti nel modulo, esclusi i bottoni di tipo submit e reset, e valore1, valore2... sono i relativi valori inseriti dall'utente. Per prevenire problemi di trasmissione, la stringa viene URL-codificata (URL-encoded), convertendo gli spazi in + e i caratteri estesi (lettere accentate, simboli particolari...) nella forma %HH dove HH è il codice ASCII del carattere espresso in esadecimale.

Supponendo che l'utente abbia inserito il valore 25 e abbia selezionato il bottone Base 2, la stringa sarà:

Numero=25&Base=Binaria

(I due bottoni con lo stesso nome figurano come un campo solo, e si escludono a vicenda in quanto di tipo radio; creando più pulsanti di uguale nome e tipo checkbox, sarà possibile selezionarne più di uno, e nella stringa comparirà come valore del campo un elenco dei VALUE dei bottoni selezionati, separati da segni + .)

La stringa dovrà essere processata da un apposito programma, solitamente sviluppato secondo lo standard CGI; l'indirizzo del programma è specificato dall'attributo ACTION della tag <FORM>, mentre l'attributo METHOD specifica il metodo con cui la stringa viene passata al programma CGI. Tale programma si occuperà di processare i dati inviati ed eventualmente generare una risposta per l'utente.


Segnalibro 12.11. Come posso far eseguire dei programmi quando le mie pagine vengono lette?

L'HTML è un linguaggio che permette di impaginare documenti in modo relativamente semplice. Tramite l'HTML, comunque, non è possibile fare null'altro; chi vuole realizzare qualche idea un pochino più complessa o perlomeno più interattiva con gli utenti si scontra con la necessità di attivare in qualche modo dei veri e propri programmi situati "dentro" o "dietro" le proprie pagine Web. Questo è necessario sia per scopi "seri", come la già citata gestione di una form o l'interrogazione di un database, sia per scopi più leggeri, come la realizzazione di parti pesantemente multimediali.

Proprio per questa necessità, sono stati sviluppati vari sistemi per far interagire le pagine Web - ossia il programma server HTTP che le recupera e le spedisce ai computer degli utenti remoti - e programmi scritti dagli utenti. Vediamo quindi quali sono i principali metodi, con l'avvertenza che chiunque sia interessato a metterli in atto farà bene a procurarsi della documentazione un po' più approfondita; le informazioni date in questo paragrafo hanno il solo scopo di fornire alcune idee di base e chiarire i dubbi più classici sull'argomento.

Segnalibro Il metodo più semplice è quello dei cosiddetti server side includes (SSI, in italiano inclusioni dal lato server), ossia di istruzioni (spesso dette direttive) inserite nella pagina HTML e destinate al server; quando un utente inserisce l'indirizzo della pagina, e quindi richiede al programma server HTTP in funzione nel sito di leggere la pagina dall'hard disk e spedirgliela, tale programma legge la pagina ed esegue in tempo reale le istruzioni in essa contenute.

Questo tipo di operazione è fortemente non-standard e dipende dal tipo e versione di server HTTP installato nel sito; è quindi necessario leggere le istruzioni accluse al programma, o chiedere informazioni al proprio webmaster. Tuttavia, la maggior parte dei server accettano istruzioni secondo il formato:

<!--#comando attributo="valore" -->

Ciascun comando è racchiuso all'interno dei caratteri <!-- e -->, che in HTML racchiudono i commenti: pertanto, nel caso per qualche problema il server non esegua il comando, non succederà nulla. Se invece, per qualche motivo, il comando genera un errore, verrà solitamente incluso nella pagina un messaggio d'errore, come ad esempio [an error occurred processing this directive].

Alcuni comandi tipici sono echo, con attributo var, per stampare il contenuto di variabili di sistema, e exec, con attributi cmd o cgi, per lanciare un programma esterno e includere il suo output nella pagina. Ad esempio, il brano di HTML

Data dell'ultima modifica: <!--#echo var="LAST_MODIFIED" -->

provocherà la stampa della scritta Data dell'ultima modifica: seguita dal contenuto della variabile d'ambiente LAST_MODIFIED, che contiene la data dell'ultima modifica apportata alla pagina. Invece, il brano

Questa pagina ha ricevuto <!--#exec cmd="count" --> accessi.

provocherà l'esecuzione del programma count; supponendo che tale programma sia un contatore e mandi in output semplicemente il numero di accessi alla pagina, e che tale numero sia ad esempio 257, l'utente riceverà dal server una pagina HTML contenente la scritta Questa pagina ha ricevuto 257 accessi. Esaminando il sorgente della pagina, l'utente non avrà modo di capire che cosa è successo: il numero sembrerà apparso per magia dentro la pagina!

Va tuttavia ribadito ancora una volta che le possibilità di inclusione sono fortemente dipendenti dal software usato come server HTTP, e che quindi è necessario fare riferimento alla sua documentazione (o a documenti reperibili in rete che trattano dei programmi più comuni). Inoltre, molti programmi richiedono che la pagina venga salvata con l'estensione .shtml. Infine, questo metodo non permette alcuna interattività: i programmi eseguiti possono stampare output, ma non possono ricevere input.

Segnalibro Il secondo modo di inserire programmi in pagine WWW è rappresentato dai cosiddetti programmi CGI. Si tratta di programmi che provvedono, secondo uno standard detto appunto CGI (Common Gateway Interface), a sostituirsi al programma server e a "generare" sul proprio standard output un'intera pagina. Quando l'utente digita un indirizzo, o seleziona un richiamo, relativo ad un programma CGI, il server HTTP provvede ad eseguirlo e a catturarne l'output, rispedendolo poi all'utente: pertanto se il programma, ad esempio in C, è il seguente:

#include <stdio.h>
void main(void)
   {printf("Content-type:text/html%c%c",10,10);
    printf("<HTML><BODY>Ciao!\n</BODY></HTML>");}
l'utente si vedrà arrivare una pagina HTML con il seguente sorgente:

<HTML><BODY>Ciao!
</BODY></HTML>
Esistono due modi diversi di interazione CGI:

L'output del programma, comunque, non è limitato agli ipertesti: esso può generare anche un'immagine o altro, modificando di conseguenza il valore del tipo MIME restituito, che è la prima cosa che deve venire stampata sull'output, come si vede nell'esempio.

Il vantaggio dei programmi CGI è che essi possono ricevere input, tramite una stringa avente il formato:

variabile1=valore1&variabile2=valore2&...

che viene solitamente generata da una form e fornita al programma o tramite lo standard input (metodo POST) o "appesa" dopo l'indirizzo del programma tramite un punto interrogativo (metodo GET); in quest'ultimo caso, è solitamente possibile leggere la stringa dalla variabile d'ambiente QUERY_STRING. Il programma dovrà quindi leggere tale stringa, decodificandola (la stringa è stata in precedenza URL-codificata) e traendo da essa le informazioni utili per il proprio funzionamento.

Ovviamente, il programma deve essere compilato e trasformato in un eseguibile per il computer su cui dovrà girare, ossia quello su cui sono installate le pagine e il server HTTP. In alternativa, è possibile anche richiamare un semplice script: l'importante è che il programma richiamato sia direttamente eseguibile sul vostro server. Tipicamente, esso è un computer di tipo Unix, per cui vi toccherà usare il C, o altri linguaggi tipici di tale ambiente, come il Perl; dovrete sapere come compilare il programma (se è scritto in un linguaggio da compilare) e dovrete combattere contro i capricci degli attributi e dei privilegi degli utenti Unix. Per imparare seriamente a programmare per CGI, comunque, sarà necessario che leggiate della documentazione un po' più approfondita, facilmente reperibile in rete; il sito ufficiale dello standard è http://hoohoo.ncsa.uiuc.edu/cgi/, ma in rete è possibile trovare vario materiale.

L'utilizzo di programmi CGI solleva anche dei problemi di "convivenza": se cento utenti contemporaneamente si collegano alla vostra pagina ed eseguono lo stesso programma può darsi che essi assorbano una parte considerevole delle risorse del computer, a discapito degli utenti "locali"; inoltre permettere a chiunque passi di lì di far girare un programma sul proprio computer non è certo il massimo della sicurezza (per cui il programma deve essere assolutamente privo di bug). Per queste ragioni, se non siete i webmaster del sito, è bene chiedere a loro se e come è permesso l'inserimento di CGI nelle pagine: spesso i vostri programmi non saranno eseguiti se il vostro webmaster non provvederà a configurare il server per permetterlo. In particolare, il server HTTP deve essere configurato anche per riconoscere che quell'indirizzo non corrisponde ad un normale oggetto da spedire all'utente, ma piuttosto a un programma da eseguire secondo le specifiche CGI; questo viene solitamente fatto definendo una directory (di solito denominata cgi-bin) in cui tutti i file sono per definizione programmi CGI, e/o definendo una estensione (di solito .cgi) che individua tali programmi. Ricapitolando, per poter inserire programmi CGI nelle vostre pagine, oltre a scriverli, dovrete anche chiedere al webmaster del sito di autorizzarvi ad eseguirli e di dirvi come li dovete chiamare o dove li dovete mettere. Ricordate anche che, se il vostro programma non è un file eseguibile, ma uno script, la prima riga deve cominciare con i caratteri #! seguiti dal nome completo del programma che deve interpretare lo script - ad esempio #!/bin/sh se lo script è un batch per la shell Unix sh, o #!/usr/bin/perl (o il percorso corretto per il vostro server) se è scritto in Perl.

I programmi CGI, comunque, sono attualmente il sistema più utilizzato per far interagire pagine WWW con programmi o dati residenti sulla macchina (ad esempio per interrogare database o elaborare dati forniti dall'utente); per questo motivo, se disturbate il vostro webmaster a questo proposito, sappiate che non state chiedendo nulla di troppo stravagante!

Il terzo metodo è quello di utilizzare uno dei linguaggi di programmazione appositamente sviluppati per la rete, come Java o Javascript; in questo caso, l'autore non può che rimandare ai relativi (e ponderosi, specialmente per Java) manuali.


Segnalibro 12.12. Come posso sapere quante persone accedono alle mie pagine e avere informazioni su di esse?

Leggendo il titolo del paragrafo starete già esultando e pensando che finalmente io vi stia per spiegare come inserire nelle vostre pagine un contatore - tipico oggetto dei desideri nascosti di qualsiasi creatore di pagine senza troppa esperienza. Beh, parleremo anche di quello, ma a questo proposito è necessaria una importante premessa.

Prima di pensare a un contatore, difatti, dovete chiedervi una cosa importante: ma a chi visita la pagina interessa veramente sapere quanti accessi ci sono stati, magari perdendo venti secondi di collegamento per caricare i numerini disegnati in grafica a 16 milioni di colori? Difatti, è necessario distinguere il caso in cui voi volete sapere quanti accessi ci sono stati da quello in cui voi volete rendere noto il numero di accessi al mondo. Sono due problemi diversi che hanno soluzioni ottimali diverse.

Consideriamo il primo caso, che è anche quello più comune: quello in cui a voi interessa sapere se la vostra pagina ha successo o no, mentre al resto del mondo tale dato non interessa granchè. Per un certo numero di motivi, tra cui quelli di sicurezza e di ottimizzazione del servizio, ciascun programma server HTTP - che, come già detto, è il demone che rende possibile al mondo intero il caricamento delle vostre pagine - memorizza in un log file ogni singolo accesso a ciascuna pagina del sito, corredato di un certo numero di dati, come il nome del computer chiamante e l'ora del collegamento. Esistono numerosi programmi per i server più comuni (il più noto è Analog) che si preoccupano di estrarre da tale file i dati che vi interessano: pertanto, vi conviene chiedere al webmaster come potete fare per ricavare da tale file le statistiche di accesso alle vostre pagine. Questa soluzione, se troverete un sistema semplice o un webmaster collaborativo, è di gran lunga la più semplice: non dovrete modificare le vostre pagine neanche di una virgola e non dovrete preoccuparvi di alcunchè; quando vorrete conoscere gli accessi, basterà esaminare le statistiche.

Se invece decidete che le persone che si collegano devono assolutamente venire informate riguardo all'immenso numero di visitatori vantati dal vostro sito, allora dovete inserire un contatore. Sostanzialmente, un contatore è un programma CGI; per inserire un contatore, dovrete quindi disporre del codice di un programma (se ne trovano in giro per i linguaggi di programmazione più disparati, oppure potrete scrivervelo voi), il che presuppone un minimo di comprensione della teoria e della pratica della programmazione; dovrete poi compilarlo sul computer in cui sono memorizzate le vostre pagine, e farlo eseguire ogni volta che la pagina in oggetto viene richiamata, tramite un comando di inclusione dal lato server, che ne inserisca l'output nella pagina. Tanto per darvi qualche idea, un semplice programma contatore compie le seguenti operazioni ogni volta che viene eseguito: legge da un proprio file di dati il numero degli accessi fino a quel momento, lo incrementa di uno, scrive il nuovo valore nel file di dati, e manda in output il numero degli accessi - se volete un contatore testuale - o un pezzo di codice HTML che faccia poi generare le immagini: ad esempio, se volete scrivere il numero 125 e avete a disposizione delle immagini per i numeri da 0 a 9 che si chiamano 0.gif, 1.gif... sarà sufficiente mandare in output la seguente stringa:

<IMG SRC="1.gif"><IMG SRC="2.gif"><IMG SRC="5.gif">
Se tutto ciò vi sembra complicato, non posso che dirvi che lo è, almeno se non siete dei programmatori! Se volete una mano, comunque, potete esaminare ad esempio il sorgente C di VBCount, un programma di conteggio scritto dall'autore di questa guida. Va comunque detto che molti webmaster, specialmente per i siti che ospitano un gran numero di pagine personali di utenti, mettono a disposizione degli utenti alcuni contatori "preconfezionati" che possono essere richiamati dagli utenti mediante una "formula magica" (in realtà, un comando di inclusione dal lato server, come quelli visti nel paragrafo precedente). In questo caso, ringraziate il vostro webmaster e chiedetegli come dovete fare per inserire il contatore.

Tuttavia, la conta degli accessi non è tutto: come detto, potete sapere un grande numero di altre informazioni, tra cui il browser usato, il nome del computer che sta usando l'utente, l'ora e la data del collegamento... Anche queste informazioni possono essere recuperate dal log file del server oppure memorizzate in un file di dati da un vostro programma scritto appositamente. In sostanza, comunque, si tratta di leggere tali informazioni da un certo numero di variabili d'ambiente standard e di scriverli in un file - nulla di troppo complicato per chiunque conosca un minimo di tecnica della programmazione.


Segnalibro 12.13. Come posso aggiornare in tempo reale il contenuto di una pagina?

Normalmente, una volta inserito un URL in un browser il programma provvede a recuperare l'oggetto indicato e a visualizzarlo, quindi si ferma in attesa di un nuovo URL. È tuttavia possibile, per chi scrive un ipertesto, fare in modo che la pagina venga aggiornata periodicamente, o anche far sì che ad ogni aggiornamento venga caricata una pagina diversa (questo è uno dei modi con cui si può "animare" una pagina).

Le tecniche per realizzare ciò sono due:

  1. Server push: una volta ricevuta la pagina per la prima volta, il browser non chiude il collegamento con il computer remoto da cui l'ha ricevuta, ma rimane in collegamento; a questo punto, ogni volta che lo desidera il server può spedire una nuova pagina con cui il browser sostituisce quella vecchia, oppure chiudere il collegamento. L'utente può comunque interrompere il processo di aggiornamento digitando un nuovo URL o chiudendo la finestra.
  2. Client pull: una volta ricevuta la pagina per la prima volta, il collegamento viene chiuso; tuttavia, nella pagina è contenuta una istruzione che dice al browser di riaprire il collegamento dopo un periodo prefissato e di caricare di nuovo la stessa oppure un'altra pagina. Anche qui, l'utente può interrompere il processo nei modi già descritti.
Il primo procedimento tende ad intasare sia la rete sia il server che deve rimanere sempre collegato e fornire gli aggiornamenti; il secondo, tuttavia, è meno efficiente e veloce in quanto ogni volta è necessario aprire un nuovo collegamento, il che richiede tempo. Va inoltre detto che non tutti i browser supportano questi procedimenti.

Se volete provocare il ricaricamento di una pagina a intervalli regolari, può essere necessario indicare al browser di non ricaricare mai la pagina dalla cache, ma di leggere sempre la versione posta in rete (che voi nel frattempo starete aggiornando). Questo si ottiene inserendo nella sezione HEAD della pagina la seguente tag:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

La realizzazione tecnica dei due procedimenti avviene tramite un programma CGI (per il server push) o tramite l'inserimento nella pagina di opportune istruzioni per il server HTTP e per il browser (per il client pull); per ulteriori informazioni si possono consultare ad esempio le pagine informative della Netscape, a partire da http://developer.netscape.com/).

Segnalibro Oltre a queste possibilità, sono state sviluppate alcune tecniche più avanzate, che non richiedono l'uso della connessione di rete. In particolare, con le versioni 4 dei browser è stato introdotto il cosiddetto HTML dinamico, che permette di modificare la pagina dopo che essa è stata visualizzata - cosa precedentemente impossibile a meno di ricaricare la pagina dalla rete. Inoltre, con le tecniche di webcasting è possibile creare siti WWW i cui aggiornamenti vengono regolarmente spediti agli utenti.

Segnalibro Per quanto riguarda in particolare l'animazione di immagini all'interno di una pagina, il procedimento classico - oggi non più usato - era quello di inserire come SRC dell'immagine l'indirizzo di un programma CGI, che provvedeva, con un server push, a spedire ad intervalli regolari i vari fotogrammi dell'animazione.

Un modo migliore è invece quello di utilizzare il formato di GIF animato, che permette di inserire una intera animazione all'interno di un solo file GIF, che sarà poi indicato come SRC dell'immagine.

Il terzo modo è quello di utilizzare Java: in questo caso però è necessario saper scrivere un programma adatto in tale linguaggio, e si avrà comunque lo svantaggio dell'invisibilità dell'animazione per gli utenti che non dispongono di Java.

Con Netscape (3.0 e successivi), è possibile realizzare animazioni anche mediante il linguaggio Javascript, che ha il vantaggio di funzionare anche con Windows 3.x, e lo svantaggio di essere un po' meno efficiente.

Infine, Netscape ha inserito "di serie" nel proprio browser un plug-in per la visualizzazione di animazioni QuickTime (formato .MOV); in questo caso, però, bisognerà disporre di QuickTime per creare le animazioni (mentre negli altri casi basta creare i singoli fotogrammi utilizzando software shareware reperibile in rete).

Per applicazioni speciali, inoltre, esistono appositi sistemi che permettono di collegare una telecamera ad un computer e di far sì che essa spedisca al browser dell'utente, secondo uno dei metodi precedentemente visti, l'immagine digitalizzata di ciò che sta riprendendo. In questo modo è possibile vedere in diretta quello che la telecamera sta riprendendo, mediante successivi fotogrammi. In alcuni casi è persino possibile controllare la telecamera a distanza! Per ulteriori informazioni su questo tipo di possibilità, comunque, vi rimando al paragrafo relativo al broadcasting.


Segnalibro 12.14. Come posso diffondere l'indirizzo del mio sito?

Ogni autore di pagine desidera che un grande numero di navigatori visitino il proprio sito. Per ottenere ciò, vi sono due necessità fondamentali: per prima cosa, l'indirizzo del sito deve essere diffuso il più possibile; per seconda, il sito deve contenere qualcosa di interessante. Purtroppo, la maggior parte degli utenti tende a dimenticare il secondo fattore e a concentrarsi sul primo, il che provoca nel migliore dei casi un certo numero di visite veloci seguite dopo poco tempo dal nulla, e nel peggiore (e più frequente) dei casi una serie di risposte risentite da parte di chi è stufo di vedersi proporre pagine di nessun significato.

Prima di applicare i suggerimenti sotto riportati, che vi permetteranno di diffondere nel modo migliore il vostro indirizzo, vi conviene quindi concentrarvi sul punto numero due e preparare pagine interessanti e/o belle da vedere, in modo da "catturare" chi verrà a visitarvi e invogliarlo a ritornare o comunque a portare con sè un ricordo piacevole della visita. Tanto per darvi qualche idea, potreste creare nelle vostre pagine una raccolta di informazioni o di indirizzi riguardanti determinati argomenti di vostro gusto; in generale, è utile parlare di qualcosa su cui si è competenti e interessati, anche per trovare la voglia di aggiornare le pagine ogni tanto (altra operazione fondamentale per mantenere vivo l'interesse).

Quando sarete pronti ad accogliere i vostri visitatori, potete cominciare a diffondere l'indirizzo: innanzi tutto, inseritelo nella vostra firma testuale, in modo che esso venga accluso a tutti i messaggi: la vostra firma è un biglietto da visita, ed è naturale inserirvi il vostro indirizzo. Se volete, potete anche includere una breve descrizione dei contenuti interessanti; tuttavia evitate di appesantire troppo la firma (che deve restare una firma, e non diventare un volantino pubblicitario...)

Il secondo passo è quello di inserire la vostra pagina negli indici di rete e nei motori di ricerca: a questo proposito, potrete utilizzare le opzioni presenti nei vari siti, o meglio ancora il servizio Submit It (http://www.submit-it.com/) che permette di inserire rapidamente il sito in un grande numero di indici e motori diversi. È tuttavia opportuno inserire il sito in una categoria adatta; in particolare, se all'interno delle vostre pagine ve ne sono alcune che trattano di hobby o argomenti particolari, può essere meglio inserire il loro indirizzo, nella loro categoria, piuttosto che l'indirizzo della home page nella categoria "home page personali" (che non interessa a nessuno!). Ricordate anche che molti indici e motori pretendono che le pagine siano in inglese, per poterle inserire; in generale, è sempre bene inserire indirizzi di pagine in inglese negli indici a livello mondiale, ed inserire le pagine italiane negli indici italiani (fa eccezione "Yahoo!", che ha una intera sezione "Regional:Countries:Italy" dedicata ai siti in italiano).

Mentre gli indici di rete inseriranno il sito nella categoria da voi indicata, i motori di ricerca si limiteranno a catalogare le prime righe della pagina; solitamente, essi andranno anche ad esplorare tutte le pagine collegate all'indirizzo che gli avete fornito, catalogando le prime righe di ciascuna di esse. È possibile, se lo volete, creare un file, denominato robots.txt, per evitare che certe pagine del vostro sito, magari obsolete o non significative, vengano catalogate. Con molti motori di ricerca (ad esempio Webcrawler e Altavista) è possibile migliorare la descrizione delle vostre pagine inserendone una personalizzata: questo si ottiene inserendo nella sezione HEAD del documento le seguenti tag:

<META NAME="description" CONTENT="Breve descrizione del contenuto della pagina">
<META NAME="keywords" CONTENT="
Elenco di parole chiave che riguardano la vostra pagina">

Si può poi attuare una pubblicizzazione mirata all'interno di newsgroup o mailing list che trattino degli argomenti che voi avete discusso nelle vostre pagine. Bisogna tuttavia stare molto attenti: le pagine che pubblicizzate devono essere veramente attinenti al gruppo ed interessanti per i lettori, altrimenti riceverete una giusta serie di repliche infuriate. Evitate comunque di pubblicizzare pagine in italiano su gruppi o liste in inglese: è vero che probabilmente ci sono cinque o dieci italiani che li leggono, ma è anche vero che per ogni italiano ci sono mediamente cento non-italiani a cui le pagine non interessano. Se mai, contattate privatamente gli italiani che partecipano alla lista per creare anche un gruppo in italiano... Nel caso vogliate pubblicizzare semplicemente la vostra home page, senza che in essa ci sia altro che la vostra foto e la vostra vita, evitate di utilizzare le liste o i gruppi, visto che non avete da offrire nulla che riguardi gli argomenti della discussione. Fanno eccezione a questa ultima regola i gruppi o le liste destinati alla conoscenza reciproca (ma al momento non ne conosco nessuno in italiano); esistono inoltre dei gruppi (in Italia, it.comp.www.annunci) destinati esplicitamente alla pubblicazione degli indirizzi di nuove pagine Web. Inoltre, se il vostro è un sito commerciale dovreste leggere il paragrafo sull'uso commerciale di Internet.

Una volta che avete "lanciato" la vostra pagina, evitate di compiere ulteriori "campagne pubblicitarie" a meno che non abbiate qualcosa di nuovo da offrire. Non c'è nulla di più fastidioso di leggere per la terza volta venti righe di esaltata presentazione di un sito.


Segnalibro 12.15. Come posso creare un nuovo newsgroup?

Per motivi di economia generale della rete, la creazione di nuovi newsgroup non è libera, ma richiede l'approvazione da parte di appositi organismi di gestione. Difatti gli articoli di un qualsiasi newsgroup vengono automaticamente distribuiti in tutto il mondo o quasi, generando un discreto traffico; inoltre è comprovato che per piccoli gruppi di utenti la soluzione migliore è quella della mailing list, mentre un newsgroup è adatto per gruppi di discussione con un seguito non troppo ridotto.

Per quanto riguarda la gerarchia it.* (quella dei newsgroup in italiano) la gestione è affidata al Gruppo Coordinamento News (GCN), che si occupa di gestire la creazione dei gruppi dal punto di vista tecnico e di stabilire le regole con cui governare lo sviluppo di tutti i newsgroup nella gerarchia. Le attuali regole per la creazione di nuovi gruppi con radice it prevedono che chi vuole proporre un nuovo gruppo stenda una RFD (Richiesta Formale di Discussione) contenente gli argomenti proposti per il gruppo stesso e la denominazione desiderata; tale denominazione deve essere compatibile con l'esigenza di mantenere una accettabile organizzazione dei gruppi (ad esempio se volete creare un gruppo sul cinema non dovete proporre it.cinema ma piuttosto it.arti.cinema, in quanto si è previsto di raggruppare tutti i gruppi di questo tipo sotto la radice it.arti.*). La RFD deve essere spedita al GCN, che provvederà a concordare con il proponente eventuali modifiche ritenute opportune e quindi a pubblicarla sul newsgroup it.news.gruppi (in precedenza denominato it.news.discussioni), che è destinato proprio alla discussione riguardo la creazione di nuovi gruppi. Si svolgerà quindi in questo gruppo una discussione, a cui chiunque può partecipare, riguardo alla denominazione e agli argomenti da trattare nel nuovo gruppo. Trascorso un periodo compreso tra quindici giorni e sei mesi, il proponente può richiedere - qualora ritenga vi sia un effettivo interesse per il gruppo - la proclamazione di una CFV (Call For Votes o chiamata per la votazione). In questo caso, viene pubblicato un avviso nei vari gruppi italiani in cui viene precisato un periodo di trenta giorni all'interno del quale chiunque sia favorevole alla creazione del nuovo gruppo può votare a favore, spedendo un E-mail ad un indirizzo convenzionale contenente la frase "Sono favorevole al gruppo..." seguita dal nome del gruppo. Al termine dei trenta giorni, se sono pervenuti almeno 75 voti favorevoli il gruppo viene creato. Nel periodo di votazione è praticamente vietata la pubblicità sulla CFV: state attenti alle regole precise, o la votazione sarà invalidata.

Poichè le regole possono cambiare, è comunque opportuno che chi intende proporre nuovi gruppi legga la "It.* FAQ" e la guida a "Come scrivere una RFD", che vengono pubblicate periodicamente nel gruppo it.faq e sono reperibili anche nei siti ufficiali del GCN e nell'archivio delle FAQ italiane.

Queste sono le regole per la gerarchia it.*; comunque, con procedure analoghe a livello internazionale è possibile proporre nuovi gruppi nelle altre gerarchie (chiedete aiuto sul gruppo news.groups). Fa eccezione la gerarchia alt, in cui la creazione di gruppi è libera. Inoltre, certi server dispongono di gruppi locali: essi seguono proprie procedure, ed è quindi il caso di chiedere direttamente all'amministratore del server. Va comunque precisato che ogni news server è libero di non attivare nuovi gruppi se non li ritiene opportuni, anche se approvati secondo le regole ufficiali.


Segnalibro 12.16. Come posso creare una mailing list?

Una mailing list può essere creata liberamente (a differenza dei newsgroup) e gestita in due modi: a mano oppure automaticamente.

La gestione a mano è fortemente sconsigliata, a meno che voi non disponiate di una connessione permanente e di molto tempo libero. Comunque, è sufficiente fare spedire al proprio indirizzo di E-mail, o, meglio ancora, ad un apposito indirizzo di E-mail attivato presso il proprio sito o provider, tutti i messaggi di chi desidera intervenire. A questo punto, si potrà scaricare la posta e disporre, ad esempio su Eudora, di un elenco dei possibili "articoli" per la lista. Ciò che resta da fare è quindi creare un nickname, all'interno del programma di posta elettronica, per l'elenco degli indirizzi delle persone iscritte alla lista, e redirigervi, con l'opzione Redirect del suddetto programma, tutti i messaggi che si intende diffondere sulla lista. In questo modo è possibile quindi effettuare anche un'opera di moderazione. Per iscrivere un nuovo aderente alla lista è sufficiente aggiungere il suo nome nel nickname, e similmente per rimuoverlo; visto che siete voi ad effettuare manualmente l'invio dei messaggi sulla lista, le richieste di iscrizione e tutti i messaggi "di servizio" possono essere inviati direttamente all'indirizzo della lista.

Una variante a questo sistema è quella, disponendo di una area Unix da dedicare a questo scopo, di inserire i nomi degli iscritti alla lista in un file .forward posto nella suddetta area; tutti i messaggi spediti all'indirizzo di posta elettronica corrispondente a quell'area saranno rediretti agli iscritti alla lista.

Se, invece, siete meglio organizzati, e soprattutto disponete di spazio su di un computer permanentemente connesso alla rete, potete utilizzare, installandolo su di esso, uno dei programmi disponibili sulla rete, come Listproc o Majordomo (si trova anche dell'ottimo software freeware). Questi programmi sono flessibili e possono essere configurati in vario modo; tuttavia, tipicamente dovrete creare due indirizzi - uno per chi desidera intervenire sulla lista, e uno per i messaggi di servizio e le richieste di iscrizione. La posta che giunge al primo indirizzo viene solitamente rispedita in modo automatico a tutti gli aderenti alla lista, a meno che non abbiate intenzione di effettuare una moderazione, nel qual caso dovrete esaminare i messaggi uno per uno e autorizzarne o bloccarne la spedizione. La posta del secondo indirizzo viene spesso trattata a mano dal gestore della lista; tuttavia, è possibile configurare il programma in modo che risponda ad una serie di comandi automatici. Ad esempio, molti programmi permettono di iscriversi alla lista semplicemente spedendo all'indirizzo di servizio un messaggio avente come testo

subscribe nomelista

In realtà, le caratteristiche e le modalità di funzionamento sono fortemente dipendenti dal programma, per cui vi toccherà leggere i relativi manuali. Una volta installato e testato il server, vi conviene pubblicizzare la vostra lista (senza esagerare) all'interno dei newsgroup di argomento collegato, e magari creare qualche pagina WWW con le informazioni relative alla lista e diffonderne l'indirizzo. Ricordate comunque di essere sempre molto chiari nella spiegazione delle modalità di iscrizione e nel precisare quali sono gli indirizzi a cui inviare i messaggi, visto che questa risulta sempre una delle cose più difficili da capire per un neofita. Se la vostra lista ha molti aderenti, è anche possibile chiedere di metterla in gateway con un newsgroup appositamente creato nella gerarchia it.

In alternativa, sono disponibili servizi commerciali di installazione e gestione di una mailing list.


Segnalibro 12.17. Come posso creare un news server?

Semplice: non createlo. Un news server richiede un computer abbastanza potente (non certo un PC) e con moltissimo spazio di hard disk, e molta banda disponibile per il continuo aggiornamento dei messaggi. Soltanto i provider - e neanche tutti: solo quelli grossi - hanno i mezzi e il "parco utenti" necessario per creare un news server vantaggiosamente.

Comunque, se volete ulteriori informazioni, sulla rete sono disponibili vari programmi, quasi tutti per Unix; potrete inoltre rivolgervi per qualche consiglio a qualche amministratore di news server già esistente, o ai gestori della gerarchia it.


Segnalibro 12.18. Come si crea e si gestisce un canale IRC?

Qualunque utente, una volta connesso ad un server IRC, è libero di creare un proprio canale, con il nome desiderato (purchè non esista già, in quel momento, un canale con tale nome), e di attendere altre connessioni su di esso per intavolare una conversazione. Questa operazione si effettua semplicemente fornendo al proprio cliente un comando /JOIN con un nome di canale ancora non utilizzato: in questo caso, il canale verrà creato, voi diverrete operatore di canale su di esso e, mentre siete su quel canale, il vostro soprannome sarà preceduto dal simbolo @. Ad esempio, per creare un canale denominato #mio (ricordate che i nomi di canale iniziano sempre per #) è sufficiente dare il comando:

/JOIN #mio

Se, dopo aver dato il comando, vi trovate in un canale denominato #mio ma in cui vi sono già altre persone, vuol dire che tale canale esisteva già: dovrete allora uscire e cambiare il nome del canale. Su alcuni server, comunque, è possibile "registrare" alcuni nomi di canale, in modo che essi siano sempre mantenuti attivi ed occupati mediante un operatore di canale robotizzato.

Sul vostro canale (e, in generale, su qualsiasi canale su cui siete operatore) potete effettuare alcune operazioni speciali, non permesse ad altri utenti. In breve, ecco alcuni comandi utili per queste situazioni:

/TOPIC #canale argomentoModifica l'argomento del canale (mostrato nelle liste dei canali). Normalmente, questo comando può essere dato anche da chi non è operatore.
/MODE #canale +tImpedisce a chi non è operatore di modificare l'argomento del canale.
/MODE #canale -tRimuove il divieto di modificare l'argomento del canale.
/MODE #canale +o nickConcede all'utente con soprannome nick lo stato di operatore di canale (avrà quindi tutti i vostri poteri).
/MODE #canale -o nickToglie a nick lo stato di operatore di canale.
/KICK #canale nickCaccia nick dal canale.
/MODE #canale +b nickBandisce nick dal canale (lo caccia e gli impedisce di ricollegarsi al canale).
/MODE #canale -b nickRiammette sul canale nick, bandito in precedenza.
/MODE #canale +iTrasforma il canale in un canale ad invito (privato). Solo le persone invitate possono entrare nel canale.
/INVITE nick #canaleInvita nick sul canale, permettendogli di entrare se il canale è ad invito.
/MODE #canale -iRimuove la modalità ad invito.
/MODE #canale +sTrasforma il canale in un canale segreto: il suo nome non comparirà nelle liste (/LIST), e solo chi lo conosce potrà collegarsi.
/MODE #canale -sRimuove la modalità segreta.
/MODE #canale +mTrasforma il canale in moderato: solo gli operatori di canale possono parlare.
/MODE #canale +v nickAutorizza nick a parlare su un canale moderato anche se non è operatore.
/MODE #canale -v nickImpedisce a nick, se non è operatore, di parlare su un canale moderato.
/MODE #canale -mRimuove la moderazione del canale.
/MODE #canale +l numeroFissa un tetto massimo di utenti sul canale.
Esistono ancora altri comandi di questo tipo; se siete interessati potete leggere la documentazione reperibile in rete.

Così come il canale viene creato semplicemente quando il primo utente chiede di entrarvi, quando l'ultimo utente di un canale decide di lasciarlo esso viene chiuso. Da quel momento in poi, il nome diventa "libero": chiunque può ricreare un canale con tale nome e divenirne l'operatore di canale. Alcuni server IRC, proprio per evitare questo problema, permettono di creare un "operatore automatico" (di solito chiamato majordomo) che mantiene vivo il canale.


Segnalibro 12.19. Come posso creare un mio sito con un nome a piacere (es. www.pippo.it)?

Se per caso avete provato a creare le vostre pagine, oppure se intendete entrare in rete con la vostra azienda, di sicuro vi interessa poter assegnare alle vostre pagine un indirizzo di vostro gusto, invece di posizionarle all'interno di una sottodirectory di un sito già esistente. La cosa è complicata, ma non troppo; richiede tuttavia un certo numero di adempimenti tecnici, per i quali, a meno che non siate una grossa azienda con una propria rete di calcolatori e del personale ad essa dedicato, dovrete appoggiarvi ad un service provider, ossia ad una azienda che venda spazio WWW e servizi connessi (normalmente lo fanno i fornitori d'accesso). Solitamente, anche il vostro fornitore di accesso è in grado di fornirvi questo servizio, per cui potete cominciare a chiedere lì.

Le condizioni necessarie sono due:

  1. Dovete disporre di un computer da far funzionare come server per il vostro sito (se fa solo quello, può bastare anche un comune PC Pentium ben equipaggiato), o, meglio ancora, dovrete accordarvi con chi vi concede uno spazio WWW sul proprio server in modo che esso venga configurato per accogliere anche le richieste di accesso al vostro indirizzo;
  2. Dovrete registrare il vostro dominio presso le autorità competenti, il che richiede un certo numero di adempimenti tecnici per i quali dovrete appoggiarvi al service provider.
Il primo punto non è complicato: la maggior parte dei programmi server HTTP in uso attualmente permettono di ospitare più siti sullo stesso computer, e di dirigere correttamente le varie richieste. Pertanto, anche una semplice sottodirectory del sito base può come per magia diventare un intero nuovo sito (il vostro www.pippo.com).

Il secondo punto richiede un po' di burocrazia, e soprattutto presenta alcune ulteriori condizioni da rispettare, che sono esaminate in dettaglio nel paragrafo seguente.


Segnalibro 12.20. Come posso registrare un mio dominio con un nome a piacere (es. pippo.it)?

Per poter creare un qualsiasi servizio in un dominio (dal sito WWW agli indirizzi di posta elettronica) è necessario registrarlo, in modo che la sua esistenza sia nota, che non vi siano domini con lo stesso nome o con nomi ambigui, e che l'intera rete abbia idea di come accedere al dominio. Per un utente italiano si aprono essenzialmente due strade:
  1. Registrazione nel dominio it. In questo modo, il vostro dominio sarà registrato come pippo.it, e potrà essere facilmente individuato come appartenente ad una entità italiana. La registrazione in questo dominio è effettuata da un ente pubblico, la Registration Authority del GARR (http://www.nic.it/), che in quanto ente pubblico italiano pone un sacco di condizioni. In particolare, è necessario che voi siate un'azienda, una organizzazione legalmente registrata, un ente pubblico o un professionista, altrimenti per il GARR non siete degni di registrare un dominio; inoltre, non è possibile registrare più di un nome per ente, non è possibile registrare il dominio se esso non è già pronto a funzionare (niente "prenotazioni" di nomi, insomma), e così via (dal sito del GARR potrete prelevare un file ASCII di 150 kilobyte, scritto in burocratese stretto, contenente un mare di regoline e regolette). Dal punto di vista tecnico, inoltre, dovrete disporre di almeno due name server per il sistema DNS (che, normalmente, vi fornirà il service provider); inoltre, dovrete disporre di qualcuno che si assuma la responsabilità di mantenere il dominio dal punto di vista tecnico (anche qui, sarà il service provider).
    A partire dal 1998, la registrazione presso il GARR è diventata a pagamento; non solo, ma registrare un dominio costa ad un provider italiano 50.000 lire all'anno, ma ad un comune privato o associazione 750.000 lire all'anno! Inoltre - a differenza di quanto avviene a livello internazionale - non c'è concorrenza: o si accettano prezzi e condizioni del GARR, oppure non è possibile registrare un dominio in Italia. Per questo motivo, vi è nell'ambiente tecnico un certo fermento, e non è escluso che le cose possano cambiare.
  2. Registrazione nei domini internazionali (.com, .org...). Qui le cose si semplificano di molto: potete registrare il nome anche se non avete nessuna intenzione di usarlo, o se non avete ancora messo in piedi le cose dal punto di vista tecnico; potrete registrare anche mille nomi, se lo desiderate, e indipendentemente dalla vostra qualifica. Potete anche scegliere il dominio organizzativo che preferite, tra tutti quelli per cui siete vagamente collegati alla tipologia che li caratterizza. Vi saranno ancora richiesti i due name server, e gli altri adempimenti tecnici, per cui avrete ancora bisogno di un service provider. L'ente responsabile per questi domini è l'InterNIC (http://rs.internic.net/), che però richiede una tariffa di registrazione di cento dollari, valida per due anni.
    Con il 1998, sono stati creati nuovi domini organizzativi internazionali di primo livello: ad esempio .nom per le pagine personali. Inoltre, la gestione sarà affidata non più solo all'InterNIC, ma a più enti concorrenti (ad esempio, http://www.domaindirect.com/): pertanto, potrebbero aprirsi nuove possibilità.


Leggi il tredicesimo capitolo

(C) 1996-1998 Vittorio Bertola - v.bertola@goemon.polito.it