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 (è = è) – lettere appartenenti ad altri alfabeti (ç = ç) – simboli matematici (← = →) 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 è 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 è 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.