dispensa - Università degli Studi di Milano

Transcript

dispensa - Università degli Studi di Milano
Le reti telematiche (2^ parte).
Per poter individuare un calcolatore all’interno della rete c’è bisogno di un indirizzo.
Un generico dispositivo connesso ad Internet deve essere identificabile in modo
univoco, per questo motivo a ogni computer connesso viene associato un indirizzo
internet (o più di uno). Tale indirizzo è definito nell’ambito del protocollo TCP/IP.
Ogni calcolatore è individuato mediante un indirizzo IP, che è composto da una
stringa di 32 bit (4 byte); l’indirizzo è concettualmente diviso in due parti, che
descrivono rispettivamente:
- la rete fisica a cui il dispositivo è collegato
- il singolo dispositivo nell’ambito della rete fisica
Il modo in cui viene codificato il numero del computer dipende dalla classe della rete.
La classe della rete identifica la dimensione della rete, e viene scritta nei primi bit
dell’indirizzo IP. Il numero di computer contenuti in una rete dipende uindi dalla
classe della rete, nel modo seguente:
classe A: 3 byte (24 bit)
classe B: 2 byte (16 bit)
classe C: 1 byte (8 bit)
0
classe
A
rete
computer
27 = 128 reti
224 = 16 777 216 computer
1 0
classe
B
rete
computer
214 = 16 384 reti
216 = 65 536 computer
1 1 0
classe
C
rete
221 = 2 097 152 reti
computer
28 = 256 computer
Dunque, per un computer in una rete di classe A, il primo bit dell’indirizzo IP sarà 0.
Vi sono al massimo 128 reti di classe A. All’interno di ciascuna rete, vi sono 3 byte
disponibili per l’indirizzamento di un calcolatore (quindi al massimo vi saranno 224
computer in una rete di classe A…
Gli indirizzi IP sono generalmente indicati utilizzando una sequenza di 4 numeri in
formato decimale (ognuno dei quali va da zero a 255). Ogni host sulla rete è quindi
identificato univocamente da un indirizzo numerico (Esempio: 159.149.151.81). La
gerarchia dalla macchina alla rete si legge da destra a sinistra nell’indirizzo numerico
(a sinistra c’è la rete, a dx la macchina).
In realtà è difficile per le persone ricordarsi degli indirizzi numerici. Gli indirizzi IP
vengono (più comodamente) rappresentati in forma simbolica da un insieme di
identificativi mnemonici. Ogni indirizzo simbolico identifica univocamente un host
sulla rete, esempio: laren.dsi.unimi.it. In questo caso, contrariamente all’indirizzo IP,
la gerarchia dalla macchina alla rete si legge da sinistra a destra nell’indirizzo
simbolico (nell’esemio la macchina sarà “laren” all’interno della rete del dsi
(dipartimento di scienze dell’informazione) unimi).
Mentre un indirizzo numerico è sempre formato da 4 parti, la stessa regola non vale
per un indirizzo simbolico (esempio: www.unimi.it). Quindi, non c’è corrispondenza
tra le singole parti di un indirizzo numerico e quelle di un indirizzo simbolico!
Gli indirizzi numerici sono forniti ufficialmente dallo IANA (Internet Assigned
Numbers Authority, http://www.iana.org), quelli simbolici dal NIC (Network
Information Center, http://www.internic.net).
Il suffisso simbolico (ad esempio .it, .org, .com, etc…) è fisso è prende il nome di
top-level domain (TLD). Le rimanenti parti dell’indirizzo simbolico possono variare
a piacere.
Quando Internet era diffuso entro gli Stati Uniti, si dono diffusi i TLD generici: .edu
(education): università e centri di ricerca, .com (commercial): organizzazioni
commerciali, .mil (military): enti militari, .gov (goverement): enti governativi, .net
(network): enti di gestione della rete, .org (organization): organizzazioni non-profit.
Nel 2000 sono stati aggiunti altri TLD generici: .aero: industrie aeronautiche, .biz:
organizzazioni commerciali, .coop: associazioni cooperative, .info: uso generico,
.museums: musei, .name: uso generico, .pro: professionisti (medici, avvocati, ...).
Vi sono poi TLD nazionali (es. .it, .us, .fr, .de, …).
A causa della crescita esponenziale del numero di host connessi ad Internet, il sistema
di indirizzamento a 32 bit sta per diventare obsoleto (non ci sono sufficienti indirizzi
per tutte le macchine connesse!). Il prossimo schema di indirizzamento è noto con il
nome di IPV6, E’ la prossima versione dello standard per gli indirizzi IP. E’ basato su
128 bit, contro i 32 attuali. Ha anche ulteriori vantaggi rispetto allo schema di
indirizzamento attuale, cioè implementa direttamente elementi di instradamento,
qualità del servizio e sicurezza.
Internet è una infrastruttura che collega tra loro un grandissimo numero di reti di
calcolatori utilizzando il protocollo TCP/IP. Appoggiandosi a questo protocollo
vengono inviate informazioni codificate secondo altri protocolli, stabiliti dalle
applicazioni utilizzate dagli utenti per generare le informazioni (quindi le
applicazioni utilizzano il proprio protocollo applicativo, basato su TCP/IP, per
comunicare con altre macchine che fanno uso della stessa applicazione!).
Uno dei protocolli di alto livello è l’HyperText Transfer Protocol (HTTP), che
consente l’accesso a risorse distribuite su diversi host sulla rete con un approccio di
tipo ipertestuale. I documenti ipertestuali sono codificati secondo le specifiche dettate
dallo standard HTML: HyperText Markup Language. Questo protocollo è quello
utilizzato per la stragrande maggioranza del tempo quando navighiamo in Internet!
Abbiamo già accennato che il WWW è nato nel 1993 con l’introduzione di
un’interfaccia grafica per gli utenti di Internet - per rispondere all’esigenza dei fisici
teorici di poter scambiare, attraverso la rete, materiale di natura essenzialmente non
testuale.
Il World Wide Web (confidenzialmente web – ragnatela) è una parte di Internet,
consistente in una vasta collezione di informazioni distribuita, che funziona attraverso
una rete client-server distribuita. In pratica, il WWW è la rete costituita dai server
che forniscono accesso alle loro informazioni tramite il protocollo http.
Gli host si collegano ai server usando un programma client detto browser (colui che
curiosa). Esempi di browser sono Netscape, Internet Explorer, Mozilla, Opera, Safari,
Lynx, … Il browser permette la consultazione interattiva di documenti ipertestuali e
multimediali con modalità point-and-click.
Nel web, le informazioni sono raggruppate in siti, a loro volta divisi in pagine.
• Le pagine contengono informazioni di diverso
– formato (testo, suoni, immagini, filmati, software)
– contenuto (scientifico, ludico, commerciale, ...)
• o forniscono servizi di
– prenotazioni, iscrizione a eventi, ...
– accesso a biblioteche e basi di dati, ...
– compravendiva, consulenza finanziaria, ...
Il problema è che per avere accesso ai dati di interesse, è necessario conoscere
l’indirizzo dei dati. Le risorse disponibili sulla rete (i documenti sui server) devono
dunque essere identificabili in modo univoco.
I browser identificano le risorse tramite indirizzi detti URL (Uniform Resource
Locator).
Un indirizzo URL ha la forma: protocollo://server:porta/pathname.
• Protocollo: indica il tipo di protocollo utilizzato.
• Server: rappresenta l’indirizzo IP (numerico o simbolico) del computer a cui si
vuole accedere.
• Porta: identifica la porta a cui il protocollo fa riferimento.
• Pathname: indica il percorso completo del file cercato (sul server).
All’interno dell’URL, alcune informazioni possono essere omesse (il server e/o il
client sceglierà implicitamente dei valori predefiniti, detti di default). Le informazioni
omissibili sono:
– il protocollo (per default, il browser sceglie http);
– la porta (per default il browser sceglie 80, quella associata a http);
– il nome del file (per default, il browser sceglie index.html, home.html o
altri) ma non il suo percorso sul server!
–
In altre parole, tutti gli indirizzi seguenti sono equivalenti:
http://laren.dsi.unimi.it:80/index.html
http://laren.dsi.unimi.it/index.html
http://laren.dsi.unimi.it:80
laren.dsi.unimi.it:80/index.html
http://laren.dsi.unimi.it
http://159.159.151.81
e portano alla pagina principale (index.html) del laboratorio laren.
Ma per poter visitare un sito web è necessario che il nostro PC sia connesso in
qualche modo alla rete… Infatti, per visitare un sito web con un browser, si deve
specificarne l’indirizzo (esplicitamente o selezionando un link), il client invia la
richiesta di connessione (formulata nel modo specificato da http); una volta ricevuta
la richiesta, il server web trasmette le informazioni al computer e il browser provvede
a visualizzarle. Questo semplice schema descrive il caso di una connessione diretta a
Internet.
Più spesso dalle abitazioni private ci si connette in rete tramite un modem; in questo
caso le informazioni tra client e server passano attraverso il provider (in pratica si
telefona al provider, che è connesso direttamente in rete – le richieste del nostro
browser viaggiano sulla linea telefonica fino al provider, che cerca l’informazione in
rete e, una volta che l’ha trovata, la manda al nostro browser per la visualizzazione).
Il successo del web è stato determinato principalmente dall’immediatezza di accesso
alle informazioni: prima dell’avvento del web, i protocolli precedentemente usati
(FTP) prevedevano che i documenti fossero copiati sul computer client prima di poter
essere consultati; le fasi di scaricamento (download) e consultazione erano dunque
separate. Tramite il web è invece possibile consultare i documenti on-line: il
trasferimento dei documenti viene effettuato automaticamente e in modo trasparente
all’utente.
Inoltre, è possibile accedere in modo uniforme a informazioni di natura eterogenea
(immagini, testo, animazioni, suoni, filmati, componenti multimediali). Con
l’introduzione di componenti attive (form, applet, javascript, php, ...) è poi possibile
utilizzare i browser per trasmettere informazioni dal client al server (es. prenotazione
di una stanza di hotel, …).
Grazie all’interfaccia grafica, e sempre in contrapposizione a quanto avveniva prima
del suo avvento, il web permette all’utente di scegliere l’ordine di consultazione dei
materiali.
Inoltre, svincola l’associazione logica da quella fisica: su una stessa pagina possono
esserci dei rimandi (link) o delle componenti che risiedono su server distanti migliaia
di chilometri. E’ inoltre facile da usare, basandosi su interfacce grafiche con
interazione point-and-click.
Infine, il web è indipendente dall’ambiente di lavoro: la stessa informazione può
essere visualizzata:
su differenti tipi di computer
sul medesimo computer, usando differenti sistemi operativi
su un dato computer con un dato sistema operativo, utilizzando diversi browser
una stessa pagina può però apparire in modo diverso a seconda della configurazione
usata!
Andiamo allora a vedere più in dettaglio il componente di base delle pagine nella
rete: l’ipertesto.
Un ipertesto è un testo che può essere letto sequenzialmente oppure seguendo i
rimandi (link) associati alle sue diverse parti. Il lettore può scegliere il percorso di
lettura che preferisce, assecondando liberamente i suoi interessi.
In ogni punto di un ipertesto può comparire un collegamento (link). Si parla più
propriamente di link per un rimando ad un’altra parte del documento, hyperlink per
un rimando ad un altro documento. Il link viene visualizzato dai browser in modo
diverso (in genere sottolineato e cambia al passaggio del mouse); la selezione (pointand-click) viene interpretata dal browser come una richiesta di visualizzare il
documento specificato. La visualizzazione del link da parte del browser è detta
anchor, mentre con link si indica l’URL del documento cui si fa rimando.
Al fianco degli ipertesti si parla spesso di multimedialità. Questa indica l’insieme
delle tecnologie finalizzate alla gestione integrata di informazioni basate su media
differenti: testo, singole immagini, immagini in movimento (animazioni, filmati),
suoni, programmi.
Per la navigazione in rete, viene sfruttato per la maggior parte del tempo il protocollo
http. Tuttavia, Tutti i browser implementano il protocollo HTTP, ma in genere sono
multiprotocollo, in grado cioè di comunicare con altri tipi di server. In genere
fungono anche da client per:
– la posta (protocolli SMTP/POP/IMAP)
– il trasferimento di file (protocollo FTP)
– le news (protocollo NNTP)
Quindi, per esempio, durante la navigazione con il browser potremmo digitare i
seguenti URL:
• mailto:[email protected]
• ftp://ftp.microsoft.com
• news:it.scienze
Posta elettronica
La posta elettronica cosituisce un sistema di messaggistica e scambio di file che
riproduce alcuni aspetti del sistema postale. Essa rende pressoché trasparente la
comunicazione fra applicativi/reti/protocolli diversi ed è forse il servizio di rete più
popolare, anche per la facilità d’uso.
I protocolli di posta elettronica più diffusi sono SMTP (Simple Mail Transfer
Protocol, per inviare messaggi) e POP (Post Office Protocol, per ricevere messaggi).
In realtà questi protocolli sono particolarmente utili per la gestione della posta
quando il programma di posta locale non risiede sul computer dell’utente ma su
quello del suo provider (cioè l’attività di ricezione / spedizione della posta in rete è
gestita dal provider).
Ogni utente ha un indirizzo, nella forma: [email protected]
• name può essere la login di un utente reale o di una lista di distribuzione
• server, generalmente, è un server su cui gira il programma di gestione della
posta
• domain è l’indirizzo dell’organizzazione presso la quale si trova il server
Per ogni parametro sono possibili alias (cioè nomi diversi che indicano in realtà lo
stesso indirizzo). Il carattere @ si legge “at”. Gli indirizzi sono case-insensitive:
possono essere scritti usando indifferentemente le lettere minuscole o maiuscole.
Utilizzando il protocollo SMTP, abbiamo il seguente formato del messaggio:
• Date: ora e data di spedizione
• From: login del mittente (automatica)
• To: uno o più indirizzi
• Subject: oggetto del messaggio
• (una linea vuota)
• Il messaggio vero e proprio (per definizione del protocollo SMTP solo in
formato ASCII).
Altri possibiliy campi dell’intestazione sono:
• Reply to: indirizzo cui inviare la risposta
• Cc: carbon copy, equivale a “per conoscenza”
• Bcc: non mostra gli indirizzi dei co-destinatari
• Encrypted: tecnica crittografica usata
• Received: gateway che ha inoltrato il messaggio.
• Message-ID: identificativo univoco del messaggio.
Vi è poi la possibilità di inserire Attachments (allegati):
• immagini, testo formattato con word processor, file audio sono spediti come
allegato (attachment) con una codifica ASCII ad hoc (MIME);
• il file viene ricopiato in coda al messaggio ed arriva al destinatario con la
stessa forma (nome, tipo, ...). Il destinatario deve dunque decodifice
l’attachmente (da MIME al formato originale).
Gli attachements permettono la distribuzione mirata ed attiva di novità,
aggiornamenti, ecc., ma anche la distribuzione indiscriminata di spam e di virus. Essi
costituiscono un’alternativa alla distribuzione universale (a meno di siti riservati) e
passiva attraverso la pubblicazione sul web.
Vediamo quale è il sw necessario dal lato client e dal lato server per il corretto
funzionamento del servizio di posta elettronica.
Il software lato server è
• il programma che si occupa di instradare e distribuire i messaggi
• è presente su alcune macchine che svolgono la funzione di server di posta
elettronica
– sendmail, comunemente in ambiente Unix/Linux
– exchange, comunemente in ambiente Microsoft
sendmail e gli altri programmi affini permettono di comunicare effettivamente
sull’internetwork, rendendo i protocolli e il percorso dei messaggi sostanzialmente
trasparente agli utenti finali; di risolvere gli indirizzi con il nome effettivo del server
del destinatario, per mezzo delle tabelle di alias; di accumulare i messaggi non ancora
consultati (utenti scollegati, interruzione della rete, ...).
Dall’altro lato, il client (il nostro PC di casa) è equipaggiato con il sw che permette di
ricevere e leggere messaggi e attachment, cancellare/salvare i messaggi e
attachments, rispondere ai messaggi oppure inoltrarli per conoscenza, tenere alias
mnemonici degli indirizzi più usati e di liste di distribuzione (rubrica). Per la lettura
della posta, i client possono utilizzare: Pine (Unix/Linux, formato testo), KMail, ...
(Linux, formato grafico), Eudora (Win, Mac), i browser Navigator e Internet
Explorer, direttamente (tutti i sistemi operativi per cui ne esiste una versione).
Il protocollo SMTP implementa alcuni servizi dell’ufficio postale:
– sistema distributivo trasparente
– notifica di utente ignoto/mancata consegna
– effettiva lettura non garantita
– fermo posta: non perdiamo messaggi restando scollegati
– autenticazione del mittente non garantita (chi scrive?).
L’altro protocollo utilizzato per la posta elettronica è POP: POP - Post Office
Protocol
– per la gestione della posta quando il programma di post locale non
risiede sul computer dell’utente ma su quello del suo provider
– gestisce l’accesso dell’utente alla casella di posta, fornendo funzioni di
autenticazione utente e di gestione della casella di posta.
Due altre applicazioni che utilizzano protocolli applicativi basati su TCP/IP sono
telnet e il protocollo FTP.
Telnet permette di effettuare la connessione a calcolatori remoti: il proprio
calcolatore è impiegato come terminale a interfaccia alfanumerica.
FTP è il protocollo utilizzato per il trasferimento di file da un computer della rete
ad un altro. In rete è possibile trasferire qualsiasi tipo di file. Per fare un esempio,
molti siti offrono la possibilità di fare il download di programmi. Si chiamano
– freeware i programmi distribuiti gratuitamente e utilizzabili da chiunque
senza limitazioni
– shareware i programmi distribuiti gratuitamente così che sia possibile
provarli prima di acquistarli; spesso hanno limitazioni (temporali,
funzionali)
Approfondiamo ora lo studio del protocollo http, sul quale si basa la navigazione in
rete (permette di navigare da un pagine all’altra sfruttando i link). Il protocollo http si
basa su pagine web scritte in formato HTML, HyperText Markup Language.
HTML 1) permette la creazione di documenti multimediali ipertestuali, 2) è il
linguaggio per la creazione di pagine web, 3) essendo salvato in formato ASCII è
universale: può essere visualizzato da tipi differenti di computer e da tipi diversi di
browser su uno stesso computer.
HTML E’ basato sull’uso di tag (marcatori), cioè parole chiave racchiuse tra i segni
minore (<) e maggiore (>), che svolgono funzioni di
– formattazione dello stile del testo
– inserimento di collegamenti ipertestuali (link) ad altre risorse
disponibili
– defininizione di maschere di inserimento dati
– inclusione di oggetti complessi (quali immagini, suoni, viedo o
componenti multimediali)
Ad esempio:
• <b> </b> delimitano del testo in grassetto
• <i> </i> delimitano del testo in corsivo
• <br> inserisce un’interruzione di linea
• <p> </p> delimitano un paragrafo
• <hr> inserisce una linea
Alcuni tag prevedono un identificatore di inizio e di fine marcatura, altri sono singoli.
Vi sono poi le entity, le quali rappresentano in modo universale e indipendente dalla
piattaforma i caratteri non coperti dalla codifica ASCII, ad esempio:
– lettere accentate (&egrave; = è)
– lettere appartenenti ad altri alfabeti (&ccedil = ç)
– simboli matematici (&larr; = →)
A ogni simbolo è associato un nome scrivibile in caratteri ASCII, delimitato da “&” e
“;”.
Molti tag hanno attributi speciali che permettono una scelta tra alcune opzioni. Gli
attributi possiedono valori. In genere i valori vanno racchiusi tra virgolette. L’uso di
spazi, tabulazioni, maiuscole e minuscole ha il solo scopo di migliorare la leggibilità
del codice HTML.
Il browser utilizzato traduce correttamente i tag HTML per visualizzare una pagina,
includendo eventuali oggetti. Ad esempio:
l’istruzione <IMG SRC=“figura.jpg” ALIGN=“center”>
viene interpretata inserendo l’immagine indicata, allineandola rispetto al centro della
pagina.
La struttura generale di un documento HTML ha dunque la seguente forma:
<HTML>
<HEAD>
<TITLE> Titolo della pagina </TITLE>
Altre informazioni generali sulla pagina
</HEAD>
<BODY>
Contenuto della pagina
</BODY>
</HTML>
Dove le tag <HTML> e </HTML> indicano l’inizio e la fine del documento.
Un esempio di semplice pagina in formato HTML è riportato di seguito:
<HTML>
<HEAD>
<TITLE>La mia pagina</TITLE>
</HEAD>
<BODY BGCOLOR=#ffffff>
<H1>Benvenuti!</H1>
Questa &egrave; una pagina di
prova. Visita il sito del
<A HREF =
"http://www.dsi.unimi.it“
>DSI</A>.
</BODY>
</HTML>
Di seguito vi sono invece alcuni tag utilizzati per la formattazione del testo:
• Titoli: <H1> </H1>, ..., <H6> </H6>
• Paragrafi: <P [ALIGN=LEFT|CENTER| RIGHT]> </P>
• Fine riga: <BR>
• Linea: <HR[SIZE=n][WIDTH=m][ALIGN=LEFT| CENTER|RIGHT]>
• Testo a spaziatura fissa preformattato: <PRE> </PRE>
Stile del testo:
• Grassetto: <B> </B>
• Corsivo: <I> </I>
• A spaziatura fissa: <TT> </TT>
• Enfatizzato: <EM> </EM>
• Sottolineato: <U> </U>
• Apici: <SUP> </SUP>
• Pedici: <SUB> </SUB>
In un documento HTML è possibile inserire immagini (formato GIF o JPEG),
specificandone l’URL, utilizzando ad esempio la seguente istruzione:
<IMG
SRC="http://host.domain/path/file.gif"
[HEIGHT=h]
[WIDTH=w]
[BORDER=n]
[ALIGN=LEFT|CENTER|RIGHT|TOP|MIDDLE
|BOTTOM]
[ALT="testo alternativo“]>
Vediamo che, oltre alla “sorgente”, cioè il file immagine, vengono specificati anche
altri attributi relativi a come l’immagine apparirà nel documento.
Ma la caratteristica principale di un ipertesto è data dalla presenza dei collegamenti
ipertestuali (link). In particolare è possibile:
• Definire di un’etichetta collegata a un URL
<A HREF=“http://host.domain"> etichetta </A>
• Definizire di un’ancora per identificare un punto specifico all’interno di un
documento
<A NAME=”ancora">testo</A>
• Inserire un collegamento a un punto specifico
<A HREF=http://host.domain#ancora“> etichetta </A>.
Etichette e ancore danno dunque il carattere di ipertestualità al documento HTML.
Sempre utilizzando HTML, è possibile costruire delle maschere o moduli (form) per
l’invio di dati al server. Al solito, i singoli componenti delle form sono descritti
tramite tag specifici. I dati vengono inviati al server che li elabora a seconda dei casi
(ad esempio l’iscrizione a una mailing list oppure a un servizio web).
Un form si costruisce ad esempio con il codice HTML seguente:
<HTML>
<HEAD> <TITLE>E-Mail Form</TITLE> </HEAD>
<BODY>
<FORM METHOD="POST" ACTION="invio.php">
<P>Your Name:<BR>
<INPUT TYPE=“TEXT" NAME="sender_name" SIZE=30>
</P>
<P>Your E-Mail Address:<BR>
<INPUT TYPE=“TEXT" NAME="sender_email" SIZE=30>
</P>
<P>Message:<BR>
<TEXTAREA NAME="message" COLS=30 ROWS=5></TEXTAREA>
</P>
<INPUT TYPE=“SUBMIT" VALUE="Send This Form">
</FORM>
</BODY> </HTML>
Dove, ad esempio, <INPUT TYPE=“TEXT" NAME="sender_email" SIZE=30>
indica che è possible immettere un dato di tipo test della dimensione di 30 caratteri,
chiamato sender_email.
In realtà, per creare documenti nella rete, HTML non è l’unico linguaggio
utilizzabile. Vi sono a disposizione anche:
Frame: Un’aggiunta ad HTML che permette di gestire più sorgenti HTML su una
stessa pagina; utilizzando i frame è possibile aggiornare singole parti del sito senza
toccarne altre. Sono quindi utili, ad esempio, per inserire informazioni variabili
(come un’intestazione oppure un elenco dei contenuti) in una sezione della pagina.
Una pagina organizzata in frame è una pagine web divisa in diverse sezioni, l’una
indipendente dall’altra (link a parte).
CSS (Cascading Style Sheets): i CSS consentono di impostare molteplici proprietà
per tutti gli elementi della pagina marcati da un tag, offrendo quindi maaggior
flessibilità nella formattazione delle pagine. Possono essere definiti all’interno o
all’esterno del documento e permettono di separare la specificazione della grafica
dalla struttura logica del documento. Ad esempio, consideriamo il seguente
frammento HTML:
<HTML>
<HEAD>
<TITLE>La mia pagina con i CSS</TITLE>
<STYLE>
H1 {color:Lime;font: normal 24pt “Arial”, “Times”
P {color:Blue; font: normal 18pt "Times"}
</STYLE>
</HEAD>
<BODY BGCOLOR=#ffffff>
<H1>Benvenuti!</H1>
Questa &egrave; la mia pagina. Visita il sito del
<A HREF="http://www.dsi.unimi.it">DSI</A>.
</BODY>
</HTML>
La parte specificata in grassetto permette di definire lo stile H1 che poi viene
riutilizzato nel documento (ma anche lo stile P).
Script: gli script sono semplici programmi il cui codice è inserito in una pagina web.
Gli script vengono eseguiti localmente dal browser (quindi non vengono eseguiti dal
server, è il computer utente che li esegue!). Sono scritti tipicamente in JavaScript, un
particolare linguaggio di programmazione. Gli script rappresentano le fondamenta
dell’html dinamico (DHTML). Un esempio di documento che contiene uno script è il
seguente:
<HTML><HEAD>
<TITLE>Esempi di script
</TITLE></HEAD>
<BODY>
<SCRIPT LANGUAGE = “JAVASCRIPT"
TYPE = “TEXT/JAVASCRIPT">
DOCUMENT.WRITE("Today is
"+DATE())
</SCRIPT>
<P>Testo testo …
</BODY></HTML>
DHTML (Dynamic HTML): E’ un insieme di regole che permettono di usare i fogli
di stile e un linguaggio di script per modificare l’aspetto e il contenuto di una pagina
web a seguito di un evento (selezione di un link, passaggio del puntatore su un’area,
...). Da qui il nome “dynamic”, dal momento che la pagina HTML evolve in maniera
dinamica a seconda degli eventi. In pratica, DHTML introduce l’interattività nelle
pagine web senza richiedere eccessivi tempi di elaborazione. In sé DHTML non
esiste: deriva piuttosto dalla convergenza di tecncologie esistenti (HTML, script,
fogli di stile). Infatti DHTML si ottiene utilizzando: un linguaggio per definire la
struttura dei documenti (HTML), un linguaggio per specificarne gli stili (CSS), un
linguaggio di script per definire effetti dinamici (JavaScript).
Java: Java è un vero e proprio linguaggio di programmazione sviluppato da Sun. Il
codice Java è lo stesso per tutti i sistemi operativi (dunque siamo di fronte ad un
linguaggio ad alto livello). Per poter essere eseguito su sistemi operativi diversi, però,
sappiamo che le istruzioni da mandare al calcolatore in linguaggio macchina sono
diverse… Il “trucco” impiegato da java è l’appoggiarsi su una “macchina virtuale”,
che cambia per i diversi sistemi operativi. In pratica la macchina virtuale Java fa da
interprete del Java, cambiando sistema operativo cambia la macchina virtuale che lo
trasforma in codice eseguibile. Un programma Java (denominato applet) può essere
inserito direttamente all’interno di una pagina web!
ActiveX: ActiveX è una tecnologia sviluppata da Microsoft per introdurre su web
pagine dinamiche e applicazioni interattive. Tramite ActiveX si possono introdurre
nelle pagine web vere e proprie applicazioni (come grafici di funzioni, visualizzatori
di oggetti particolari, ...).
ASP (Active Server Page): ASP è un’ulteriore tecnologia in ambiente Microsoft (e
quindi legato a una precisa piattaforma Æ Windows, Vista) che permette di costruire
dinamicamente pagine web. Permette di tenere tutta la logica sul server e di scaricare
pagine in puro HTML, offre la possibilità di accedere a basi di dati.
CGI/PERL: sono tecnologie multi-piattaforma (quindi destinate a diversi tipi di
sistemi operativi) che permettono di costruire dinamicamente pagine web.
Permettono di tenere tutta la logica sul srever (sotto forma di programmi scritti
tipicamente in perl) e di scaricare pagine in HTML puro, offrono la possibilità di
accedere a basi di dati. Sono quindi l’analogo di ASP, ma pensati per tutti gli OS
(non solo per Windows o Vista).
PHP: PHP è una tecnologia multi-piattaforma (open source e free) che permette di
costruire dinamicamente pagine web, permette di tenere tutta la logica sul server e di
scaricare pagine in puro HTML, offre la possibilità di accedere a basi di dati.