©Marco Ronchetti 2003
HTTP e HTML

HTML: evoluzione
©Marco Ronchetti 2003
WWW

1990: La Web
HTTP
protocollo che permette di richiedere documenti
ipertestuali da un server.
HTML
linguaggio di markup usabili per rendere documenti
ovvero individuare e a abilitare link ipertestuali.
©Marco Ronchetti 2003
HTML 2.0

Linguaggio basato su elementi di descrizione di caratteristiche (tag)
e testo:
la caratteristica viene applicata a tutto il testo compreso tra
tag aperta e tag chiusa
<TAG>testo</TAG>
©Marco Ronchetti 2003
HTML

Caratteristiche generali:
•Non è case sensitive
•Non tutte le tag aperte vengono chiuse
•Tutte le tag sconosciute vengono ignorate
•Tutti gli “a capo” vengono mutati in spazio
•Più spazi o tabulazioni vengono collassate in un singolo spazio
©Marco Ronchetti 2003
HTML 2.0

La prima versione conforme alla sintassi SGML
<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
©Marco Ronchetti 2003
Struttura di un documento HTML
Nota: l’HTML non è case sensitive

<!-- HTML -->
<html>
<head>
<title>Titolo della pagina</title>
</head>
<body>
Corpo della pagina, visualizzato dal browser
</body>
</html>
©Marco Ronchetti 2003
Definizione di intestazione

H1 …H6: sei livelli di intestazione
<H1>Livello H1</H1>
<H2>Livello H2</H2>
<H3>Livello H3</H3>
<H4>Livello H4</H4>
<H5>Livello H5</H5>
<H6>Livello H6</H6>
©Marco Ronchetti 2003
Tipi di lista

ul Unordered list
ol ordered list
<ol>
<li> primo
<li> secondo
<li> terzo
</ol>
dir directory list (deprecata)
menu menu list (deprecata)
<ul>
<li> primo
<li> secondo
<li> terzo
</ul>
©Marco Ronchetti 2003
Tipi di lista

Liste di definizione DL
DT:Definition Term DD: Definition Entry
<dl>
<dt> SGML <dd> Standard Generalized Markup Language
<dt> HTML<dd> Hypertext Markup Language
<dt> XML <dd> Extensible Markup Language
</dl>
©Marco Ronchetti 2003
Tipo di carattere
<B> Bold <I> Italic <TT> Teletype

Notare gli a capo
Carattere normale
<b> Carattere Bold </B>
<i> Carattere Bold </i>
<b><I> Carattere Bold </B></i>
<TT>Carattere Teletype</TT>
Notare la sequenza
©Marco Ronchetti 2003
Caratteri speciali

I caratteri “<“ e “>” definiscono apertura e chiusura delle tag,
Quindi non possono in essere inclusi nel testo.
Per risolvere il problema si introduce una sintassi speciale:
<
>
&
si scrive
si scrive
si scrive
&lt;
&gt;
&amp;
©Marco Ronchetti 2003
Tipologie di frase
<em> <strong> <code> <kbd> <var> <samp> <cite>

Carattere normale
<em> emphasized </em>
<strong> strong </strong >
<code> code
a=1
b=2
</code>
<var>variable</var>
<samp>sample</samp>
<cite>citazione</cite>
©Marco Ronchetti 2003
Elementi di formattazione
<P> <BR> <BLOCKQUOTE> <HR>

Esempi di uso di formattazione
<P>Questo e'un paragrafo</P>
Questo e'un esempio di <BR>
forzatura di un a capo
<HR>
Linea Orizzontale
<HR>
testo
<BLOCKQUOTE>
testo indentato
</Blockquote>
continua il testo
©Marco Ronchetti 2003
Elementi di formattazione

Esempio di testo con formattazione forzata
<PRE>
class demo {
public static void main(String a[]) {
System.out.println("Hello"):
}
}
</PRE>
Notare la
preservazione
degli a capo
<PRE>
©Marco Ronchetti 2003
Meta data

Nella sezione head:
<meta Name=“author” Content=“Marco Ronchetti”>
<meta Name=“ keywords” Content=“ =“Sex, Money”>
<base HREF=“URL”>
Url di base del
documento corrente
©Marco Ronchetti 2003
Link e interni ed esterni
Link interno

Vi si possono trovare ulteriori <a href=“#altro”>dettagli</a>
…
<a name=“altro”>Ecco i dettagli</a>
Link esterno
Vi si possono trovare ulteriori <a href=“URL”>dettagli</a>
Immagini
Eccone una foto <img src=“URL” alt=“Vista dal basso”
align=“top/bottom/center”>.
Deprecato!
©Marco Ronchetti 2003
Mappe clickabili

Identifica
un eseguibile sul
server
<a href=“/cgi-bin/imagemap.exe”>
<img src=“italia.gif” ISMAP>
</a>
Mostra la figure italia.gif e
passa al server le coordinate (x,y)
del punto su cui si é clickato
Vedi anche le estensioni HTML 3.2
©Marco Ronchetti 2003
Forms

Danno all’utente la possibilità di
inviare informazioni al Web server
La tag FORM definisce il modulo e ha il seguente attributi:
•L’attributo ACTION identifica il programma
che processa il modulo
•L’attributo ENCTYPE specifica tipo MIME usato per
passare dati al server (Es. Text/html)
Inoltre comprende varie sotto-tag:
•Può contenere diverse tag per la raccolta dei dati
•Una tag INPUT dev’essere di tipo SUBMIT per la
•spedizione dei dati
•Una tag INPUT può essere di tipo RESET per
•l’annullamento dei dati inseriti
©Marco Ronchetti 2003
Form - input

<FORM method="POST" action="/cgi-bin/elabora">
Scrivi il tuo nome
<Input type="text" size“=25" maxlength="15“ name=“a”>
<Input type="submit" value="spedisci">
<Input type="reset" value="annulla">
</FORM>
Invia una url di tipo
http://…/cgi-bin/elabora?a=MarcoRonchetti&b=…
©Marco Ronchetti 2003
Form – input type=“radio”

<FORM method="POST" action="/cgi-bin/elabora">
Fai la tua scelta:
<LI><Input type="radio" name="tipo"
value="auto" checked>Auto
<LI><Input type="radio" name="tipo"
value="bus">Bus
<LI><Input type="radio" name="tipo"
value="camion">Camion
<P><Input type="radio" name="colore"
value="rosso">Rosso
<Input type="radio" name="colore"
value="argento" checked>Argento</P>
<Input type="submit" value="spedisci">
</FORM>
©Marco Ronchetti 2003
Form – input type=“checkbox” - select

<FORM method="POST" action="/cgi-bin/elabora">
Fai la tua scelta:
<LI><Input type="checkbox"
name="tipo" value="auto" checked>Auto
<LI><Input type="checkbox"
name="tipo" value="bus">Bus
<LI><Input type="checkbox"
name="tipo" value="camion">Camion
<P><Select name="colore">
<option>Rosso
<option selected>Argento
</select></P>
<Input type="submit" value="spedisci">
</FORM>
©Marco Ronchetti 2003
Form – textarea

<FORM method="POST" action="/cgi-bin/elabora">
Scrivi i tuoi commenti:
<Textarea
name="commenti" rows="4" columns="14">
Spiega in questo spazio la tua opinione
</TEXTAREA>
Notare gli spazi
<Input type="submit" value="via!">
</FORM>
©Marco Ronchetti 2003
HTML 3.2

Ampiamente supportato dalla maggior parte dei browser
e degli editor HTML
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2 Final//EN”>
Aggiunge supporto per le tabelle, Applets, stilizzazione del testo,
client-side image-based linking e per la strutturazione del documento.
©Marco Ronchetti 2003
Trattamento delle immagini

Vengono introdotte evoluzione di allineamento usando
l’attributo Align: a top, bottom, center si aggiungono left e right
Nuovi attributi includono:
Border (spessore del bordo attorno all’immagine)
Vspace (spazio extra in verticale)
Hspace (spazio extra in orizzontale)
Width (larghezza dell’immagine)
Height (altezza dell’immagine)
Informa il browser delle dimensioni
così da permettere la formattazione
della pagina prima che l’mmagine
sia scaricata
<IMG SRC=“file” ATTRIBUTO1=“Valore” … >
©Marco Ronchetti 2003
Trattamento delle immagini

Viene introdotta
la gestione
delle immagini
clickabili sul
lato client
150
50
250
150
50
<IMG SRC="a.gif" usemap="#mymap">
...
<MAP name="mymap">
<area shape="rect"
coords=“150,50,250,150"
href="rect.html"
alt="scatola">
<area shape="circle"
coords=“250,350,50"
href="wheel.html"
alt="ruote">
</MAP>
©Marco Ronchetti 2003
Tabelle

Bordi:
<table border=“0”> nessun bordo
<table>
Nessun bordo, ma spazio per bordo allocato
<table border=“10”> Bordo di dimensione 10
<table border>
Corrisponde a border=“1”
Spaziatura tra le celle:
<table Cellspacing=“5” >
Default = 2
Titolo:
<caption align=“bottom”>Titolo</caption>
©Marco Ronchetti 2003
Tabelle

Le tabelle sono strutture basate sulle righe
Ogni righe di dati è inclusa in un elemento <TR>
Ogni cella è inclusa in un elemento
•<TH> (intestazione) oppure
•<TD> (dato)
Larghezza e altezza di una cella possono essere suggeriti
con gli attributi Width e Height.
Il contenuto di ogni cella può essere allineato
•orizzontalmente (align=left,center,right)
•e verticalmente (valign=top,center,bottom)
©Marco Ronchetti 2003
Tabelle

Genere ogni cella occupa un’area individuata da
una colonna e una riga, mai possibile fare in modo
che una cella si estenda su più colonne e/o righe
Usando di attributi colspan e rowspan.
©Marco Ronchetti 2003
Tabelle

<table border>
<caption align=bottom>LIVELLI DI PERICOLO</caption>
<tr><th>colore<th>stato<th>Livello</tr>
<tr><th>rosso</th><td>Pericolo</td><td>1</td></tr>
<tr><th>giallo
<td rowspan="2" valign="center" align="center">ok
<td>2</tr>
<tr><th>verde<td>3</tr>
</table>
©Marco Ronchetti 2003
Tabelle
<table border cellpadding=5>
<table border>

<table border cellspacing=5>
©Marco Ronchetti 2003
Supporto di Java

<applet code=“Name.class”height=“150” width=“300”>
<param name=“time” value=“100”>
<param name=“color” value=“red”>
Questo Browser non supporta le applets
</Applet>
©Marco Ronchetti 2003
Stilizzazione del testo

Viene introdotto un parametro applicabile alla maggior
parte delle tag:
ALIGN=“LEFT-CENTER-RIGHT”
e la tag CENTER che ha funzione analoga
Viene introdotta una tag per raggruppare elementi di testo
a cui applicare gli stessi parametri: DIV
©Marco Ronchetti 2003
Stilizzazione del testo

Inizio
<div align=right>
Hello
<P>
Paragrafo
</P>
<CENTER>Testo centrato
</CENTER>
Bye
</div>
Fine
©Marco Ronchetti 2003
Stilizzazione del testo: Body

<body
bgcolor=“#FF0000"
background=“URL“
text =“#0000FF“
link=“#00FF00"
vlink =“#00FF00“
>
…
</body>
colore dello sfondo - deprecato
immagine di sfondo - deprecato
colore del testo - deprecato
colore dei link – sconsigliato
colore dei link visitati – sconsigliato
©Marco Ronchetti 2003
Stilizzazione del testo: Font

<font
face="Times Roman", serif"
color="Red"
size="18">
Hello
</font>
Nota: alternativamente
si possono fare resize
incrementali:
size=“+2">
©Marco Ronchetti 2003
Ufficializzazione

Le tag SCRIPT e STYLE vengono ufficializzate,
anche se ancora non viene definito l’esatto
funzionamento delle stesse.
SCRIPT introduce la possibilità di avere codice
La cui esecuzione è a carico dal browser (es. Javascript)
STYLE introduce il concetto di formattazione da applicare
al documento separatamente dal contenuto del
documento stesso
©Marco Ronchetti 2003
HTML 4.0
Rilasciato nel dicembre ‘97

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
“http://www.w3.org/TR/html4.strict.dtd”>
Standardizza il supporto dei frame, estende il modello di tabelle,
estende il modello dei form, aggiunge l’evidenziazione della variazione
di contenuto, l’identificazione di oggetti generalizzati non HTML,
alcune generali descrizioni di testo. Formalizza l’uso di elementi script
e style.
Per la prima volta la definizione dello standard precede
l’implementazione!
©Marco Ronchetti 2003
Script

Identifica un contenitore di codice riconoscibile ed eseguibile
da parte del browser.
<script type=“text/javascript” language=“javascript”>
<!-function ciao() {
alert(“hello world”)
}
//-->
</script>
La funzione è attivabile da eventi associati con elementi
Visualizzati (Onmouseover…)
©Marco Ronchetti 2003
Style

Identifica un contenitore di un foglio di stile.
Va incluso solo nella sezione <HEAD>
<STYLE TYPE="text/css">
a {color:red}
p {font-size:18}
</STYLE>
©Marco Ronchetti 2003
Stilizzazione del testo

Vengono introdotti attributi applicabili alla maggior
parte delle tag:
ID fornisce all’elemento un nome tramite il quale può
essere referenziato
TITLE associo una descrizione all’elemento. Normalmente
non è visibile.
CLASS dichiara l’appartenenza dell’elemento ad un gruppo
(classe) usabile per definirne caratteristiche comuni.
STYLE attribuisce uno stile all’elemento.
LANG dichiara una lingua per l’elemento
DIR specifica la direzione della scrittura (ltr o rtl)
©Marco Ronchetti 2003
Stilizzazione del testo: ID e STYLE

<p id="trento" style="color: red"> Paragrafo su trento...
</p>
<BR><BR><BR><BR><BR><BR><BR><BR><HR>
Vedi <a href="#trento">Trento</A>...
©Marco Ronchetti 2003
Descrizione del testo

(*) Ad uso dei robot
Abbreviation (*)
...talk to
<ABBR title="mister">Mr.</ABBR> Smith
Delete/insert
<HR>
...there are <del>eight</del> <ins>seven</ins> days left to
Christmas <HR>
...the <acronym title="World Wide Web">WWW</acronym>
exploded in 1995
<HR>
Acronimo (*)
Amleto disse:
<Q>Essere o non essere</Q>
Quote (*)
©Marco Ronchetti 2003
Miglioramenti alle Tabelle

Nelle tabelle viene introdotto il concetto di:
Header
THEAD
Body
TBODY
Footer
TFOOT
Se la tabella diventa molto grande, lo scorrimento (scroll)
avviene solo sul Body mantenendo fissi Header e Footer.
Vi sono poi diverse utilità per formattare omogeneamente
gruppi di celle (tag col e colgroup, attributi align di tr e
di tbody) e per lavorare con sotto celle (tag entry)
©Marco Ronchetti 2003
Miglioramenti alle Form
Viene introdotta la possibilità di usare il tasto TAB per muoversi

tra i campi (l’attributo Tabindex=“n” specifica l’ordine della visita)
Viene data la possibilità di usare delle scorciatoie da tastiera
(l’attributo Accesskey=“carattere”specifica il tasto da premere
in combinazione con il tasto ALT)
Si possono inoltre rendere attivi degli elementi di input tramite la
Tag LABEL: nel codice che segue la digitazione di un RETURN
nel campo di testo attiva l’azione senza premere bottoni.
<FORM method="POST" action="/cgi-bin/elabora">
Scrivi il tuo nome <label><Input type="text" name=“a”></label>
</FORM>
©Marco Ronchetti 2003
Frames

Usando i frames lo schermo é diviso in aree,a ciascuna
delle quali è possibile far corrispondere un diverso documento
(attributo src).
Vanno usati con grande attenzione perché è possibile
disorientare l’utente e perché si possono fare ’pasticci’
di varia natura.
Quando si usano i frames la sezione body viene sostituita da
una sezione frameset che ha il compito di definire come la
pagina viene suddivisa.
Il contenuto dell’eventuale tag noframes viene ignorato, ed
usato solo da browser non abilitati ai frames.
©Marco Ronchetti 2003
Frames
<FRAMESET rows="50%, 33%, 16%">

<FRAME name="alto" src="...">
<FRAME name="main" src="...">
<FRAME name="basso" src="...">
<NOFRAMES>Sul tuo browser i
frames non sono riconosciuti.
Una questo indirizzo:
<A HREF="noframes">
http:.../noframes</A>
</NOFRAMES>
</FRAMESET>
©Marco Ronchetti 2003
Frames

Il frameset può essere organizzato per colonne (cols=…)
oppure per righe (rows=…).
Lo spazio può essere riservato in forma assoluta (50),
percentuale (50%) o proporzionale (2*,*).
<FRAMESET cols="50%, 100, 2*, *">
<FRAME name="sx" >
<FRAME name="main" >
<FRAME name="dx1" >
<FRAME name="dx2" >
</FRAMESET>
©Marco Ronchetti 2003
Frames
Il frameset può anche essere chiamato ricorsivamente

<FRAMESET cols="50%, 100, 2*, *">
<FRAMESET rows=3*,2*,1*>
<FRAME name="su" >
<FRAME name="centro" >
<FRAME name="giu" >
</FRAMESET>
<FRAME name="main" >
<FRAME name="dx1" >
<FRAME name="dx2" >
</FRAMESET>
©Marco Ronchetti 2003
Frames
A ciascun frame si può associare un nome (attributo name).

Il nome può poi essere utilizzato all’interno di un link
(attributo target) per indicare che l’oggetto di quel link va
visualizzato nella sottofinestra (frame) specificata.
Il nome top è associato alla finestra intera.
<A HREF=“URL” TARGET=“dx1”>…</A>
©Marco Ronchetti 2003
Oggetti

Viene introdotta la tag OBJECT per fornire al browser
informazioni utili a caricare o visualizzare tipi di dati
non supportati nativamente (applets, plugins,
Controlli Active-X ecc.)
Una eventuale tag PARAM al suo interno permette di
passare parametri alla applet o plugin.
<OBJECT HEIGHT=… WIDTH=… CLASSID=…>
<PARAM NAME=… VALUE=…>
</OBJECT>
©Marco Ronchetti 2003
HTML TESTING & REFERENCE
All’indirizzo:

http://www.w3.org/MarkUp/html-test/Overview.html
trovate servizi di validazione delle pagine HTML
All’indirizzo:
http://www.w3.org/MarkUp/
trovate le pagine ufficiali sull’HTML, sempre aggiornate.
©Marco Ronchetti 2003
DHTML

Per DHTML (Dynamic HTML) si intende l’insieme di:
•HTML 4.0
•CSS – CSS/P
•DOM
•ECMA
(Cascading Style Sheet)
(Document Object Model)
(JavaScript)
©Marco Ronchetti 2003
XHTML 1.0

Ridefinizione di HTML come un’applicazione XML
invece che SGML.
Vedere http://www.w3.org/TR/xhtml1/
Non introduce nuove caratteristiche rispetto ad HTML 4.0
ma pone dei nuovi vincoli.
©Marco Ronchetti 2003
XHTML 1.0 - vincoli

Ci DEVE essere una dichiarazione di tipo DOCTYPE
All’inizio del documento:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN" "DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Frameset//EN" "DTD/xhtml1-frameset.dtd">
©Marco Ronchetti 2003
XHTML 1.0 - vincoli

• Le tag e gli attributi devono esser scritti in minuscolo.
• Gli sttributi devono stare tra virgolette
• A ogni tag aperta deve corrispondere una tag di
chiusura, o
• Le tag “vuote” devono essere terminate con una \
(Es. <img src=“URL” \> )
• Il corpo degli script deve stare in una sezione CDATA
<script>
<![CDATA[
... unescaped script
content ...
]]>
</script>
Scarica

5_2-HTML - Marco Ronchetti