Nello scrivere questo documento, suppongo che Tu abbia gia' una
qualche dimestichezza con WWW ed i suoi browser piu' noti ed usati,
ovvero Lynx, Mosaic o Netscape, e con le idee di base delle architetture
client-server. Il fatto che Tu stia leggendo e' gia' un buon
indice che questo sia vero! Note importanti:
1. Questo documento e' ancora provvisorio. L'ho scritto molto in fretta
e quindi non e' ancora ne' completo, ne' error-free. Qualunque commento
o correzione e' benvenuta (cfr le conclusioni)
2. Dato che pare ormai che l'uso di chi costruisce un nuovo broswer
sia quello di inserirvi delle possibilità "proprietarie"
e quindi incompatibili con gli altri, qui mi limiterò per lo
più all'HTML "standard" (se non capite quello che sto dicendo,
rileggete la frase dopo aver letto tutto il tutorial).
3. Nonostante la crescente lunghezza, ho mantenuto tutto in un unico
grande file, per facilitare chi voglia stampare il tutto e averlo a
portata di mano.
Dato che centinaia di ore, bytes e sforzi sono stati spesi per spiegare
al mondo WWW, saro' breve: la sigla sta per World Wide
Web e si tratta di un sistema client-server per fornire e
recuperare informazioni su rete. Il sistema e' nato al CERN ma
il client grafico piu' noto ed utilizzato e' Mosaic, sviluppato
all'NSCA. (Questo era vero quando è uscita la prima versione di questo
documento.. ora Netscape la fa da padrone, ed è peggio, perchè
si compra!). Mosaic e' solo un possibile client mentre il Web,
il protocollo Http (hypertext transfer protcol) etc sono stati
sviluppati al Cern. Requisiti minimi per costruire una home
Il primo e' quello di disporre di un client http. Dato che stai leggendo,
direi che questo e' ok! :-)
Una homepage e' un documento Html che puo'
essere usata come punto di raccolta di informazioni che interessano
il possessore e possono interessare altre persone.
HTML sta per HyperText Markup Language. L'idea di base e' che
un documento html e' un normale testo ascii al cui interno sono
pero' presenti dei 'tags' dal formato specifico che aggiungono
informazioni; il client, leggendo un documento, scandisce il
testo e, quando trova un tag, modifica in modo opportuno il
modo di visualizzazione e/o l'azione associata a quel testo.
Alcuni tags tra i più usati sono specificati
più avanti,
inoltre un'ottima versione inglese si puo'
trovare in A beginner's guide to Html.
Le regole d'oro per la scrittura html
Una regola importante e' di non mettere troppe immagini!
Un'immagine richiede tempo per essere caricata e chi
ha selezionato il vostro link puo' non avere voglia di aspettare
dieci minuti; l'ideale e' che la home non abbia nessun'immagine,
ed eventuali vostre fotografie etc siano presenti sotto forma
di link. (con alcuni browser, ad esempio Mosaic, e' possibile
ritardare il caricamento delle immagini in modo da evitare questo
problema)
Gli URL (Uniform Resource Locator) costituiscono un formato "uniforme" (appunto!)
per dichiarare sia la locazione fisica di un documento che il protocollo
del documento stesso; il formato generico è
Più, concretamente, qualcosa del tipo
indica che il file /Public/mydoc.html è accessibile sul webserver
"www.mio.host" e ha formato http.
L'URL puo' non essere completamente specificato: se per esempio volete indicare
un documento presente sul vostro Webserver locale, è sufficiente
specificare il path del file:
ha lo stesso effetto del precedente se vi trovate sulla macchina
"www.mio.host".
Se l'URL indica il formato http ma non il nome del documento da aprire, il
vostro browser cercherà di aprire un file (solitamente chiamato
"index.html" oppure "welcome.html" e varianti con minuscole
e maiuscole); se questo non c'è, è possibile che vi sia presentata
una lista dei files nella directory oppure un errore
(dipende da come è stato configurato il server).
Ecco alcuni protocolli tipici:
Ovvero, qual'è la struttura generica di un documento HTML?.
Niente di più facile: ogni file html ha almeno due sezioni,
una testa, delimitata dai tags <HEAD>...</HEAD>, e un corpo, delimitato dai
tags <BODY>...</BODY>. Il tutto viene poi racchiuso
dai tags <HTML>...</HTML> che indicano che l'intero documento
è, appunto, in formato html.
Riassumendo, quindi, lo scheletro di un documento html è suppergiù questo:
Ok. Abbiamo detto che un documento html è un semplice file di
testo, con dei tags racchiusi tra parentesi
acute, ovvero i simboli "maggiore di" e "minore di".
Ora, se voglio avere nel testo proprio uno di questi due simboli,
come faccio ?
Una sequenza di escape ha il formato
e, sostanzialmente, rappresenta un carattere.
This list details the code positions and characters of the HTML
Eventuali caratteristiche utili ed ormai largamente diffuse sono
comunque trattate, magari in breve.
A favore dei suddetti costruttori c'è comunque da dire che
l'unica versione standard di HTML sarebbe effettivamente la 1.0, mentre
la 2.0 è in avanzata via di standardizzazione e la 3.0 è
completamente in discussione..
Il secondo e' avere l'autorizzazione del tuo sysadm. In genere se il
tuo sistema possiede un client, possiedera' anche un server WWW..
il nome del server sara' del tipo www.mio.dominio; questo e' un
cosiddetto alias ovvero un nome che in realta' viene
rimappato su una particolare directory di una macchina del tuo
sistema (ad esempio, di nome /web-data).
Siccome tale directory non e' generalmente accessibile in scrittura
ma solo in letture ed esecuzione (a parte per il gestore del web,
naturalmente), dovrai espressamente chiedere al gestore stesso
che ti crei una sottodirectory dove mettere effettivamente i tuoi
documenti html.
Otterrai quindi una directory del tipo /web-data/utenti/mionome
all'interno della quale avrai pieni diritti.![]()
E' buona norma che il suo nome contenga in qualche parte la parola
'home': ad esempio, home.html, myhome.html, etc..
Quasi tutti i browser, poi, cercano un documento di default quando
si specifica solo una directory. Per molti il nome e' DEFAULT.HTML
che quindi e' un'ottima scelta per il nome del documento principale.
Per essere chiari, il formato dei tags e' il seguente:
<nometag>
Una seconda regola e' quella di ricordare sempre di rendere
accessibile 'al mondo' il vostro documento.
Una terza regola e' quella di cercare il piu' possibile di
commentare i vostri link; una lista di URL senza alcun commento
serve a poco: e' meglio spendere qualche parola in modo che
l'utente della vostra pagina si faccia un idea di che cosa
contenga l'URL che gli proponete.
Infine, cercate per quanto possibile di indirizzare tutti
alla vostra home page, e non a vostri documenti ad essa collegati:
infatti (per esperienza) nomi e contenuti di questi tendono
a cambiare con frequenza, e quindi e' meglio fornire riferimenti a links
nella home che non a file fisici.
formato://..host../path
http://www.mio.host/Public/mydoc.html
http:/Public/mydoc.html
http://www.dsi.unimi.it/Users/Students/sadun/index.html
gopher una directory gopher; il browser presenta il menu gopher e permette
di selezionare e leggere documenti
gopher://gopher.dsi.unimi.it/11/DSI
ftp il file specificato si trova su un server ftp; il browser permette
di eseguire il trasferimento e, a volte, gestisce automaticamente la decompressione
ftp://ftp.dsi.unimi.it/pub/Conventions
file il file è un file "plain", senza formati particolari
file:mydoc.txt
news l'argomento e' un gruppo delle news
news: soc.culture.italian
![]()
Nella testata vanno in genere informazioni sul titolo del documento,
metainformazioni su autore e contenuto, e tante altre cosette che potete
guardarvi a w3.org.
Nel body, invece, va il documento vero e proprio.
<html>
<head>
<title>Titolo</title>
</head>
<body>
....
</body>
</html>
![]()
La risposta sta nelle sequenze di Escape.
&nome;
&#codice;
Per ogni carattere, esiste una corripondente sequenza di escape,
e la cosa, di solito, è abbastanza inutile: per fare un esempio,
A rappresenta la sequenza di escape per la lettera A
(il cui codice è 65); oppure, & rappresenta proprio
la 'e commerciale' (ampersand, in inglese).
Questo significa che quando il browser incontra nel testo una
sequenza di escape, visualizza il carattere corrispondente; come
accennavo, ciò è piuttosto inutile per i caratteri
"normali", (per scrivere una 'A' maiuscola, digitare il
carattere 'A' è decisamente la cosa migliore..), mentre diventa
essenziale per ottenere i caratteri che, scritti come caratteri veri
e proprio, verrebbero intrepretati dal browser in maniera errata;
ecco alcuni dei più comuni:
lettere accentate:
à á
....
ò ó
caratteri particolari:
& &
< <
> >
" "
Infine, qui c'è una lista di tutte
le sequenze di escape a codici per ottenere qualunque carattere
(ahimè, in inglese).
This document is a slightly changed copy of "html_spec_13.html" document
at www.w3.org.; no original material inserted.
REFERENCE DESCRIPTION
-------------- -----------
� -  Unused
	 Horizontal tab
Line feed
 -  Unused
Carriage Return
 -  Unused
  Space
! Exclamation mark
" Quotation mark
# Number sign
$ Dollar sign
% Percent sign
& Ampersand
' Apostrophe
( Left parenthesis
) Right parenthesis
* Asterisk
+ Plus sign
, Comma
- Hyphen
. Period (fullstop)
/ Solidus (slash)
0 - 9 Digits 0-9
: Colon
; Semi-colon
< Less than
= Equals sign
> Greater than
? Question mark
@ Commercial at
A - Z Letters A-Z
[ Left square bracket
\ Reverse solidus (backslash)
] Right square bracket
^ Caret
_ Horizontal bar (underscore)
` Acute accent
a - z Letters a-z
{ Left curly brace
| Vertical bar
} Right curly brace
~ Tilde
 - Ÿ Unused
  Non-breaking Space
¡ Inverted exclamation
¢ Cent sign
£ Pound sterling
¤ General currency sign
¥ Yen sign
¦ Broken vertical bar
§ Section sign
¨ Umlaut (dieresis)
© Copyright
ª Feminine ordinal
« Left angle quote, guillemotleft
¬ Not sign
­ Soft hyphen
® Registered trademark
¯ Macron accent
° Degree sign
± Plus or minus
² Superscript two
³ Superscript three
´ Acute accent
µ Micro sign
¶ Paragraph sign
· Middle dot
¸ Cedilla
¹ Superscript one
º Masculine ordinal
» Right angle quote, guillemotright
¼ Fraction one-fourth
½ Fraction one-half
¾ Fraction three-fourths
¿ Inverted question mark
À Capital A, grave accent
Á Capital A, acute accent
 Capital A, circumflex accent
à Capital A, tilde
Ä Capital A, dieresis or umlaut mark
Å Capital A, ring
Æ Capital AE dipthong (ligature)
Ç Capital C, cedilla
È Capital E, grave accent
É Capital E, acute accent
Ê Capital E, circumflex accent
Ë Capital E, dieresis or umlaut mark
Ì Capital I, grave accent
Í Capital I, acute accent
Î Capital I, circumflex accent
Ï Capital I, dieresis or umlaut mark
Ð Capital Eth, Icelandic
Ñ Capital N, tilde
Ò Capital O, grave accent
Ó Capital O, acute accent
Ô Capital O, circumflex accent
Õ Capital O, tilde
Ö Capital O, dieresis or umlaut mark
× Multiply sign
Ø Capital O, slash
Ù Capital U, grave accent
Ú Capital U, acute accent
Û Capital U, circumflex accent
Ü Capital U, dieresis or umlaut mark
Ý Capital Y, acute accent
Þ Capital THORN, Icelandic
ß Small sharp s, German (sz ligature)
à Small a, grave accent
á Small a, acute accent
â Small a, circumflex accent
ã Small a, tilde
ä Small a, dieresis or umlaut mark
å Small a, ring
æ Small ae dipthong (ligature)
ç Small c, cedilla
è Small e, grave accent
é Small e, acute accent
ê Small e, circumflex accent
ë Small e, dieresis or umlaut mark
ì Small i, grave accent
í Small i, acute accent
î Small i, circumflex accent
ï Small i, dieresis or umlaut mark
ð Small eth, Icelandic
ñ Small n, tilde
ò Small o, grave accent
ó Small o, acute accent
ô Small o, circumflex accent
õ Small o, tilde
ö Small o, dieresis or umlaut mark
÷ Division sign
ø Small o, slash
ù Small u, grave accent
ú Small u, acute accent
û Small u, circumflex accent
ü Small u, dieresis or umlaut mark
ý Small y, acute accent
þ Small thorn, Icelandic
ÿ Small y, dieresis or umlaut mark
![]()
Una nota: alcuni tag qui elencati si "aprono" (es <B>) e si "chiudono" (</B>) e hanno effetto sul testo così racchiuso. In genere si possono innestare con tranquillità, l'importante è mantenere lo stesso ordine: quindi <B><I>CIAO</I></B> va bene, ma <B><I>CIAO</B></I> no.
Il browser www impagina correttamente la frase sulla base delle dimensioni della finestra. Gli 'a capo' inseriti nel testo non contano assolutamente. Se volete forzare un 'a capo', dovete usare il tag <BR> per passare alla linea successiva, oppure <P> per passare alla linea successiva e inserire una linea vuota: cosi' 1<BR>2 produce
1 2mentre 1<P>2 produce
1 2
Il formato del tag per definire un anchor all'interno del proprio documento consiste in
<A HREF="...URL..."> ...testo... </A>Il risultato è che nel documento il ...testo... verrà sottolineato (o evidenziato in qualunque modo il vostro browser usi per indicare un anchor) e, se selezionato, provocherà il passaggio al documento indicato da ...URL...
Ad esempio,
<A HREF="#Sez1">Sezione 1</A> ... <A NAME="Sez1"> Questa e` la sezione 1</A>farà sì che, dove è stato specificato il primo anchor compaia "Sezione 1" evidenziato; e se quest'ultimo viene selezionato, il risultato sarà un bel salto al testo che segue "Sez1".
Attenzione: potete tranquillamente usare un HREF="#nome" anche se il corrispondente NAME="nome" è più avanti nel documento (come di fatto è nell'esempio). L'unico problema consiste nel fatto che, con un browser multithreaded, se l'utente seleziona l'anchor locale prima che sia stato caricata la parte di documento dove c'è l'anchor NAME, il browser non saprà dove saltare, e i risultati (come diceva il buon vecchio K&R) non saranno predicibili.
Il tag è <HR>
Si usano <Hx>...testo...</Hx> dove x è 0,1,2,..
Il testo non deve necessariamente essere su una sola linea. Provate..
Racchiudendo il testo tra <B> e </B> questo viene scritto in grassetto; per il corsivo, usate <I>
In alcuni browser come Netscape ed Internet Explorer esiste il tag <FONT> che permette di specificare più precisamente gli attributi del carattere.
Per Netscape, basta aggiungere la proprietà BGCOLOR al tag <BODY> come in <BODY BGCOLOR="#fffff">.
Sempre per Netscape e compatibili, si usa nel tag BODY la proprietà BACKGROUND="..url..", dove url sta per l'URL di un immagine riconosciuta dal browser (solitamente, GIF o JPG).
Un esempio ? eccolo:
<BODY BACKGROUND="/images/bkg.gif">
Il tag per inserire un'immagine ha il formato
<IMG SRC="..path..">
I formati di immagine riconosciuti dipendono dal browser: in generale,
GIF è un formato accettato sia da client Unix che da client DOS.
Il solito Netscape legge anche immagini JPEG.
E` utile specificare anche cosa fare se chi legge la pagina non ha a
disposizione un browser grafico ma solo i caratteri: si fa aggungendo
ALT="..xxx...", con un messaggio del tipo QUI CI
SAREBBE UN'IMMAGINE o quello che volete al posto delle xxx.
Infine, è utile saper posizionare il testo vicino ad un'immagine.
Si usa la proprietà di ALIGN="..." con LEFT,
MIDDLE, RIGHT al posto dei puntini. Se usate LEFT o RIGHT, il testo
scorrerà di fianco all'immagine
Ad esempio, <IMG SRC="pippo.gif" ALT="Immagine di pippo" ALIGN="middle">.
HTML permette di specificare diversi tipi di liste: in generale c'è un tag di "apertura lista", uno di "chiusura lista" e uno o più per indicare un "elemento di lista":
<ul> <li> Elemento A <li> Elemento B </ul>produce
Liste numerate Come sopra, tranne che i tag sono <OL> e </OL>. Un esempio:
Liste di definizioni
L'aspetto è del tipo di questa che state leggendo..
Si apre con <DL> e si chiude con </DL>, e per specificare
gli elementi della lista ci sono due tag: <DT> che indica l'oggetto
definito, e <DD> che indica la definizione. Così
<DL> <DT> Aereoplano <DD> Oggetto che vola <DT> Automobile <DD> Oggetto che non vola (tranne le GolfGTI16V dopo la discoteca) </DL>
produce
La versione 2.0 di Netscape ha incorporata un'ulteriore caratteristica interessante: i frames.
Questi permettono di suddividere lo spazio nel browser dove normalmente
è contenuta una pagina in più sottospazi, ciascuno
indipendente dagli altri; ciascun frame può contenere una pagina
html differente: così, in una striscia in alto si può
caricare una pagina contenente un logo, e in un frame laterale mettere
una toolbar o dei link per muoversi velocemente, mentre la parte centrale
contiene i dati veri e propri.
Come si realizza in pratica il tutto ? In modo molto semplice: in un file html separato si definiscono dettagliatamente i frames, mediante dei tags opportuni; un frame è definito da
<frame scrolling="no|yes|auto" name="nome" src="URL" marginwidth="numero" marginheigth="numero">
I significati dovrebbero essere ovvi: scrolling può
valere yes,no o auto e controlla la presenza della
barra di scorrimento, name serve per dare un nome al frame
(per potercisi riferire, come vedremo subito), gli altri due
elementi danno le dimensioni dei margini; volendo, si può
aggiungere il tag noresize che impedisce al lettore di
ridimensionare il frame.
La proprietà src indica qual'è il documento
da caricare inizialmente nel frame.
Tutte le definizioni<frame> devono essere
racchiuse in una coppia di tags
<frameset rows="10%,30%,*"> ... </frameset>
che servono a definire quanta parte dello spazio disponibile vada assegnato a ciascun frame: qui, ad esempio, si indica che il primo frame avrà il 10% di spazio, il secondo il 30%, e il terzo tutto lo spazio rimanente (*).
Resta solo da vedere come si fà ad indicare che un
particolare documento sia caricato in un dato frame, quando
viene selezionato un anchor
Per fare questo, alla Netscape hanno definito una nuova
proprietà per il tag <a>, ovvero la
proprietà target="nomeframe"; ad esempio:
<a href="pippo.html" target="frame1">
questo indica semplicemente che, quando viene selezionato un anchor, la pagina corrispondente verrà caricata nel frame chiamato frame1.
Se poi volete vedere un tutorial esclusivamente sui frames, potete fare un click nelle pagine dell'amico Davide, esattamente qui
![]()
Una caratteristica interessante introdotta dalla
specifica
3.0 di HTML (in corso di definizione)
è quella di permettere la costruzione di tabelle, come sempre
attraverso tags opportuni.
Una tabella è consiste, per quel che ci riguarda, in una
serie di righe, ciascuna contenete un certo numero di celle
dati.
Per definire una tabella, si usa la coppia di tag
<table border width="xxx" height="xxx" valign="top|center|bottom"> ... </table>
border è opzionale la presenza o meno di una cornice
(e la sua dimensione, con Netscape, mediante la notazione
border="xx".
width ed height specificano larghezza ed altezza della
tabella, mentre valign l'allineamento di default per
le singole celle.
Una riga si specifica mediante i tags "table row"
<tr> ... </tr>
che, a loro volta, racchiudono i singoli dati, specificati con
<td>dato</td>
Un esempio: la specifica
<table border width="400" height="50" valign="center"> <caption>Tabella di test</caption> <tr> <td align="center">Ciao <td>a <tr> <td>tutti <td>voi! <table>
produce
| Ciao | a |
| tutti | voi! |
Come vedete, è possibile tranquillamente ignorare i tag di chiusura, e il modificatore align può essere associato a ciascun dato per definirne la centratura.
Infine, vediamo come è possibile ottenere celle che "spazino" su più linee o colonne: si fa usando per tag <tt> un modificatore colspan="xx" oppure rowspan="xx"; per esempio,
<table border width="400" height="50" valign="center"> <caption>Tabella di test 2</caption> <tr> <td align="center" rowspan="2">Ciao <td>a <tr> <td>tutti <table>
produce
| Ciao | a |
| tutti |
![]()
E veniamo ad un punto dolente. Tutte le belle cose descritte sopra aiutano a costruire una pagina che contiene informazioni che possano essere lette. Ma come fare se si vuole che il lettore possa anche fornire informazioni, oltre che leggerle? La risposta, in una parola, si chiama forms. Dato che una parola sola è un po' poco, mi spiegherò meglio. Andiamo ad incominciare.
L'idea è piuttosto semplice. Per prima cosa, nella pagina si specificano, attraverso opportuni tags, delle zone di input, in cui chi accede alla pagina potrà scrivere, o comunque interagire: i form, quindi, specificano sia zone di input alfanumerico (il lettore scrive quello che vuole, magari un bel complimento per la foto che avete digitalizzato con due ore di lavoro), di scelta guidata (tipicamente, una lista di possibilità), oppure di input univoci (un bottone di OK, per esempio, o dei radio button)
Nota: com'è ovvio, l'interazione con l'utente avviene attraverso il particolare client che questi usa: Mosaic, Netscape, Arena, Lynx, e chi più ne ha più ne metta; perchè i form funzionino, quindi, il client deve avere il supporto per i form. In realtà da un po' questo non è più un problema, dato che tutti i browsers "moderni" ce l'hanno. Comunque, uomo avvisato mezzo salvato: non provatevi a leggere pagine con forms usando Mosaic 0.94b!
Più avanti presento una serie di tags usati per far questo in pratica. Per ora rimaniamo sulla teoria. Quando un utente capita in una pagina con un form, probabilmente vorrà inserirvi dei dati (Altrimenti state leggendo per niente.. :^) ); in particolare, uno dei form è di solito un bottone che manda al client il messaggio "Ok, ho finito". Quando il client riceve questo messaggio, prende tutto ciò che l'utente ha scritto o selezionato, impacchetta questi dati con un formato preciso, e li spedisce al server.
A questo punto, il server che ci fa? Dato che la vostra pagina potrebbe servire a comunicare ricette di cucina marziane oppure i saluti alla nonna, è chiaro che non può essere il server ad elaborare i dati. Quindi, il server a sua volta passa i dati ad un altro programma (che voi avete scritto) che li mastica, li digerisce, e poi specifica un documento (html) di risposta, che viene inviato al client, che lo mostra. Questo programma si chiama query-server in quanto serve le richieste relativa ad una specifica serie di form.
La specifica di quale queryserver utilizzare per masticare ecc.. i dati viene fornita nello stesso tag con cui si dichiara il form.
Esempio pratico e chiarificatore (speriamo): supponiamo che la pagina
di Pinco Pallino contenga un form che
permette di scrivere un messaggio: l'utente scrive, poi "schiaccia" il
pulsante "send"; il client guarda nella pagina, scopre che queryserver
va utilizzato, e manda al server web i dati più quest'ultima
informazione; il server web chiama il queryserver, passandogli i
dati; il queryserver aggiunge l'header SMTP (quello delle mail, per intenderci)
e chiama il programma di posta; poi genera una pagina temporanea
con dentro scritto "Complimenti! Il tuo messaggio è stato spedito a
Pinco Pallino!", la manda al client che la visualizza.
Niente di così difficile, vero?
Questo è quanto. Rimangono solo due problemi da chiarire: come si scrive un queryserver adatto ai dati eccezionali che arriveranno da chi legge la nostra pagina (e dove lo si deve mettere), e poi vedere quali sono i tags in gioco.
CGI&c
"Query-server", come dovrebbe ormai essere chiaro, è solo un nome altisonante per un programma che accetta dei dati in un formato specifico, fa qualcosa, e poi rimanda indietro un documento di risposta.
Questo programma si può scrivere in molti linguaggi diversi,
da C, a Perl, oppure come script di shell .
Le specifiche di come interfacciare il proprio programma,
scritto nel linguaggio prediletto, con il server web (ovvero: come
accettare i dati, come "spacchettarli", come rispondere) costiuiscono
la cosiddetta CGI (Common Gateway Interface). In pratica,
per il C, si tratterà di linkare una libreria che contiene
delle funzioni apposite; per gli script di shell, di leggere il
contenuto di alcune variabili di environment;etc. Dato che fornire
le specifiche precise è davvero troppo lungo, potete
direttamente riferivi alla pagina apposita
all'NCSA . Ci sono anche numerosi esempi di
query server già pronti all'uso.
Un unico dettaglio in più: ricordate che i queryserver devono essere visibili al server web (cioè, in pratica, al daemon http) e che spesso quindi devono risiedere in una directory particolare, che a volte, per motivi di sicurezza, non è direttamente scrivibile dagli utenti di un sistema. Quindi potreste dover chiedere al vostro webmaster di piazzare il programma nella directory giusta.
Ecco alcuni tags per dichiarare i form più comuni. Questi tags potrebbero essere istanziati in modo differente da browser a browser. Ciò che segue vale per Mosaic per X-Window con Motif. Si spera che valga, all'incirca, per molti altri browser.
...permette di dichiarare un form. Il formato è
<FORM ACTION="..url.." METHOD="..metodo.."> ..altri tags e testo vario... </FORM>Ogni zona interattiva all'interno della vostra pagina verrà specificata da una coppia <FORM> .. <\FORM>.
All'interno di un tag FORM, con
<SELECT NAME="nome"> <OPTION> Opzione 1 <OPTION> Opzione 2 ... <OPTION> Opzione n </SELECT>
All'interno di un tag FORM, con
<INPUT> TYPE="..tipo.." NAME="..nome.." VALUE="..valore.." CHECKED SIZE=larghezza,altezza MAXLENGHT=n>
Il tipo può essere uno tra "text","checkbox","radio","submit","reset".
Ovvimente, gli attributi vanno usati con buon senso: CHECKED ha senso
solo se si specifica "checkbox" o "radio" come tipo, etc.
NAME (dev'esserci per tutti tranne "submit" e "reset") indica
il nome simbolico con cui il contenuto dell'input sarà indicato
quando i dati saranno passati al queryserver.
VALUE specifica il valore per default o l'etichetta di un bottone.
Un tag di tipo "submit" deve esserci perchè è
il solo mezzo per permettere all'utente di dire al suo client "ho finito".
Con
<TEXTAREA NAME="..nome.." ROWS=n1 COLS=n2> ..contenuti di defaults.. </TEXTAREA>
Dettagli e precisazioni si possono ottenere nella documentazione di Mosaic premendo qui
![]()
Forse avrete sentito parlare di Java e HotJava. Bè, se non l'avete ancora fatto, fatelo ora! Per il momento, non ho avuto tempo di scrivere nulla di dettagliato.. tuttavia, potete scaricare due tutorial che esistono in rete: sull'AWT (Applet Window Toolkit) e un tutorial (ahimè, in inglese) sul linguaggio.
Cosa sono Java e HotJava?
Java è un linguaggio di programmazione simile al C++, e HotJava
è un browser WWW (scritto, guarda caso, in Java) che permette,
in soldoni, di vedere dei programmi integrati (scritti in Java,C o C++),
detti applet, all'interno di pagine web.
La cosa richiede ovviamente molte altre spiegazioni (e questo è
solo un possibile uso del linguaggio), ma il tempo manca.. quindi,
quando ne avrò un po' di più, lo userò per darle!
![]()
Questo e' per ora tutto. Provate e riprovate e vedrete che
qualcosa saltera' fuori. Un trucco per imparare e' questo:
(funziona per pagine non-framed) se vedete qualcosa che vi piace in un dato
documento ma non sapete come si fa, usate l'opzione "VIEW SOURCE"
che vi mostra il file html completo di tags ed istruzioni!
Al limite salvatelo e poi editatelo e correggetelo. Se volete ho due link interessanti sulla mia home-page dove potrete trovare una lista aggiornatissima di tutti i tag HTML, e dopo a voi il divertimento di navigare e imparare:
Inoltre, nella mia homepage potete trovare un certo numero di altri riferimenti interessanti a caratteristiche piu' avanzate.
Spero che questo documento vi sia d'aiuto. Per richieste, commenti, correzioni (tutti benvenuti) mandatemi pure un messaggio

Ottobre 1996 y smaggioni@frankeser.ch