Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Introduzione a Internet e al World Wide Web Una rete di calcolatori (di solito abbreviata in "rete" quando non sorgano ambiguità) è un insieme di calcolatori autonomi collegati da una rete di comunicazione. I calcolatori di una rete sono detti host. Le reti di calcolatori consentono: la condivisione di risorse (dati, programmi, dispositivi come stampanti, memorie di massa, …) la comunicazione tra utenti tramite posta elettronica e scambio di file Le reti di calcolatori sono sistemi più affidabili di un singolo calcolatore, per l’esistenza di risorse alternative, sostituibili l’una con l’altra (se si guasta una stampante se ne usa un’altra). Le reti di calcolatori hanno costi più bassi (ad es. una stampante condivisa costa meno di tante stampanti dedicate per ogni utente). Classificazione delle reti per estensione reti personali (Personal Area Network LAN). Collegano dispositivi come videocamere, cellulari, hard disk esterni a un singolo calcolatore reti locali (Local Area Network LAN). Collegano dispositivi collocati nello stesso edificio o in edifici adiacenti. reti metropolitane (Metropolitan Area Network MAN). Collegano dispositivi collocati nella stessa area urbana. reti geografiche (Wide Area Network WAN). Collegano dispositivi collocati in un’ampia area geografica. reti di reti (Internetwork). Collegano reti di calcolatori con caratteristiche diverse e possono avere estensione planetaria, come Internet. 1 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Instradamento (routing) dei dati La rete Internet non è completamente connessa, cioè non esiste una connessione diretta tra ogni coppia di host, esistono però cammini alternativi per ogni coppia di host per avere un’alta tolleranza ai guasti. Esistono diverse modalità di instradamento, le due fondamentali sono: commutazione di circuito (connection oriented): usata anche per le comunicazioni telefoniche, consiste nel creare tra sorgente e destinatario del trasferimento dati un canale di trasmissione dedicato temporaneo. La comunicazione avviene in tre fasi: creazione del cammino da sorgente a destinazione, trasferimento dei dati, chiusura della comunicazione. Modello: sistema telefonico. commutazione di pacchetto (connectionless): è quella comunemente usata. I dati sono divisi in pacchetti (~ 1KB ), contenenti ciascuno l'indirizzo del destinatario del pacchetto e il numero indicante la posizione del pacchetto all’interno del messaggio. I pacchetti sono inviati separatamente e instradati dagli IMP che li trattano come messaggi separati. Il destinatario ricompone i dati in base ai numeri d’ordine dei pacchetti. Più efficiente della commutazione di circuito. Modello: sistema postale. Interconnessione di reti - connessione di più reti (Internetwork) nel caso di reti identiche da connettere si usano dei dispositivi (repeater) che rigenerano il segnale trasmesso da una rete ad un’altra; nel caso di reti diverse con stesso formato di indirizzamento (degli host), il collegamento è effettuato tramite un bridge che ritrasmette i pacchetti che devono transitare da una rete ad un’altra, mantenendo il traffico separato; nel caso di reti diverse con formati di indirizzamento diversi, il collegamento è effettuato tramite un router (instradatore) che ritrasmette i pacchetti con lo schema di indirizzamento della rete del destinatario. I router sono usati per connettere una LAN a una WAN come nel caso di Internet; nel caso di reti con ambienti applicativi diversi, il collegamento è effettuato tramite un gateway. 2 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Protocolli di Comunicazione I calcolatori collegati in rete devono comunicare attraverso un insieme comune di regole, detto protocollo di comunicazione. I protocolli stabiliscono cosa, come e quando comunicare; tra l’altro, fissano i formati dei dati, la struttura dei pacchetti, la scelta del percorso lungo cui instradare i dati e la velocità di trasmissione. Organizzazione dei protocolli di comunicazione In una rete non esiste un unico protocollo di trasmissione, che sarebbe molto complesso, ma esiste un insieme di protocolli, ognuno dei quali stabilisce delle convenzioni per dei particolari aspetti della trasmissione dati. L’organizzazione di questi protocolli è a strati, così come avviene per le componenti di un sistema operativo. Protocollo TCP/IP Negli anni ‘70 è stato sviluppato un insieme di protocolli basato sui protocolli TCP (Trasmission Control Protocol) e IP (Internet Protocol). Il protocollo TCP/IP si propone di consentire l’interoperabilità tra reti fisiche diverse, per realizzare una internet (rete di reti), cioè una rete geografica ottenuta collegando tante reti più piccole. TCP/IP è stato scelto per lo sviluppo di Internet, la rete di reti per eccellenza. Architettura di TCP/IP TCP/IP è organizzato in cinque livelli: livello fisico 3 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web livello livello livello livello http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html di collegamento (link) internet (gestito da IP) di trasporto (gestito da TCP) applicazione I cinque livelli svolgono le seguenti mansioni: livello fisico: definizione dell’interfaccia hardware tra le stazioni di trasmissione e il mezzo fisico. Specifica delle caratteristiche del mezzo, natura dei segnali, frequenze utilizzate, velocità di trasmissione livello di collegamento (link): gestisce lo scambio di dati tra due nodi (router oppure host) della rete collegati direttamente da un canale di comunicazione (link), indicando come organizzare i dati in frame e come trasmetterl. livello internet: gestisce la trasmissione dati lungo reti multiple interconnesse da più router nel caso di host situati in reti diverse. Implementato sui router e sugli host. livello di trasporto: gestisce ad alto livello la comunicazione tra due processi relativi ad applicazioni situate su host diversi. In questo livello, la collocazione dei due host in reti diverse non è rilevabile. livello applicazione: specifica come un’applicazione può usare il protocollo TCP/IP, fornendo la possibilità di comunicazione tra applicazioni su host diversi. Comunicazione tra applicazioni remote con TCP/IP 4 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Funzionamento di TCP/IP TCP/IP assegna ad ogni host un indirizzo che lo contraddistingue. L’indirizzamento avviene su due livelli: ogni host ha un indirizzo Internet globale unico, usato da IP per l’instradamento dei dati ogni applicazione di un certo host ha un indirizzo unico all’interno dell’host (detto porta) per consentire a TCP di identificare i processi coinvolti nella comunicazione. 5 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Indirizzi IP Il protocollo IP assegna ad ogni host un indirizzo univoco a 32 bit detto indirizzo IP (IP address), rappresentato come quattro numeri decimali (uno per ogni byte) separati da punti, e.g. 102.54.94.97 corrisponde a 01100110.00110110 .01011110 .01100001 Ogni numero può assumere i valori compresi tra 0 e 255. L’indirizzo IP è composto da due parti: la prima individua la rete a cui l’host è collegato, l’altra individua l’host all’interno della rete. Assegnamento degli Indirizzi IP La prima parte dell’indirizzo è assegnata in modo globale, mentre la seconda parte dell’indirizzo è assegnata localmente. Il numero di bit per ciascuna parte non è fisso ma dipende da uno schema di suddivisione in tre classi classe A : 8 bit + 24 bit (ind. rete + ind. host) classe B : 16 bit + 16 bit classe C : 24 bit + 8 bit La classe di un indirizzo IP si determina dai primi bit dell’indirizzo di rete: quelli che iniziano con 0 sono di classe A, quelli che iniziano con 10 sono di classe B, quelli che iniziano con 110 sono di classe C . Limitazioni degli indirizzi IP Gli indirizzi IP che iniziano con 111 sono riservati. La Internet Assigned Number Authority (IANA) è l’organizzazione che ha il compito di 6 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html assegnare in maniera univoca gli indirizzi IP. Con il boom di Internet, il numero di indirizzi IP liberi sui 2 32 disponibili si avvicina all’esaurimento, così c’è bisogno di un nuovo metodo di indirizzamento IP. Una nuova versione del protocollo IP, detta IPv6 estende quello attuale e in più prevede un nuovo formato degli indirizzi a 128 bit e dell’intestazione, e prevede un supporto per le trasmissioni audio/video, anche in tempo reale L’instradamento dei dati nella rete Nelle reti di reti basate su TCP/IP (e.g., Internet) le sottoreti sono collegate tra loro da calcolatori dedicati, i router o gateway, che hanno il compito di instradare i dati nella rete. Il mittente di un messaggio deve esaminare l’indirizzo IP del destinatario: se esso appartiene alla stessa rete del mittente, il messaggio gli viene inviato senza passare attraverso nessun router (routing diretto) altrimenti il mittente cerca all’interno di una tabella apposita, il router a cui inviare il messaggio (routing indiretto) I router Un router mantiene le informazioni sulla rete necessarie per decidere dove inviare un pacchetto di dati destinato a un certo host. dispone di una tabella di routing che per ogni indirizzo IP contiene il percorso lungo cui inviare il pacchetto scambia con gli altri router informazioni sulle modifiche della struttura della rete (aggiunta/eliminazione di host e/o collegamenti esegue algoritmi di instradamento per determinare il percorso migliore tra quelli disponibili, usando come parametri il numero di router da attraversare, il traffico previsto, la distanza rispetto alla destinazione per evitare la dispersione di pacchetti nella rete sono previsti controlli, come il 7 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html superamento di un timeout oltre il quale il destinatario viene considerato irraggiungibile Indirizzi simbolici Per evitare l’uso diretto di indirizzi IP, è stato introdotto un sistema, detto Domain Name Server (DNS) che associa ad ogni indirizzo IP uno o più nomi simbolici e che gestisce la conversione tra indirizzi simbolici e indirizzi IP in modo trasparente all’utente. L’indirizzo simbolico è costituito da una serie di nomi separati da punti, e.g. brezza.iuav.it Gli indirizzi DNS sono organizzati in una gerarchia di domini e sottodomini: il nome più a destra rappresenta il dominio più ampio e identifica la nazione di appartenenza (it = Italia, uk = GB, fr = Francia, …) Oppure, come negli USA, rappresenta la categoria a cui appartiene il proprietario dell’host (com=commerciale, edu = università e formazione, org = organizzazioni no-profit di vario genere). La seconda parola da destra indica un ente compreso nel primo dominio, e così via, fino a che non si arriva al nome di un host. Ad esempio, design.iuav.it è il nome DNS del server che gestisce le pagine web del corso e indica un calcolatore di nome design del dominio iuav compreso nel dominio it . Ogni dominio dispone di un calcolatore responsabile del dominio, che mantiene un elenco dei calcolatori compresi nel dominio o dei calcolatori responsabili dei sottodomini Per tradurre un indirizzo DNS in uno IP, si accede al responsabile del proprio dominio, risalendo fino al primo livello. Modello di comunicazione client-server Un utente connesso in rete può richiedere un servizio a un calcolatore remoto. La comunicazione che avviene tra le due entità segue uno schema ben preciso, assegnando 8 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html al calcolatore dell'utente il ruolo di client e al calcolatore remoto a cui è inoltrata la richiesta il ruolo di server. Dopo che il client ha inoltrato una richiesta a un server, questo gli risponde comunicando l'esito della richiesta e gli eventuali risultati se la richiesta è andata a buon fine. La comunicazione tra client e server avviene tramite un protocollo comune prestabilito, che dipende dal servizio offerto. Tali protocolli fanno parte del livello applicativo di TCP/IP. I servizi applicativi di Internet Il modello di funzionamento di molti servizi offerti da Internet (ad es. la posta elettronica, il trasferimento file, e il World Wide Web, WWW) è quello client-server. Il World Wide Web Il World Wide Web, (WWW, W3 oppure semplicemente Web) è un servizio (o applicazione) di Internet che permette la condivisione e l'accesso a informazioni multimediali sotto forma di ipertesti (documenti HTML o pagine web) , dei file scritti con dei linguaggi ad-hoc (HTML, XHTML) dislocati nei diversi host della rete. Il Web è stato creato nel 1989 al CERN (Conseil Européen pour la Recherche Nucléaire) di Ginevra per lo scambio di informazioni scientifiche all’interno della comunità scientifica. Si è diffuso però in brevissimo tempo al di fuori dell’ambito accademico. Nel caso del Web, un client Web è un calcolatore dotato di un browser (o navigatore, ad esempio IE, F, Sa, Op), mentre i server Web sono calcolatori della rete in cui è stato installato un apposito software di gestione, anch'esso detto server web. Un tipo di server piuttosto noto è Apache (freeware, open source). Un server web è un calcolatore che gestisce un insieme di siti web di sua pertinenza, allocati nella sua memoria di massa. Mediante un browser un utente richiede a un server un file che risiede nel suo file system. 9 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Il protocollo HTTP Il protocollo adottato nella comunicazione tra browser e server web è chiamato HTTP (HyperText Transfer Protocol). Le comunicazioni avvengono tramite messaggi, composti da un’intestazione e da un eventuale corpo. Le transazioni richiesta-risposta sono eseguite senza tener conto delle transazioni precedenti. I server rispondono alle richieste che ricevono senza memorizzare la sequenza delle richieste. Modello client-server del web Esempio Un utente vuole reperire il file BelloQuesto.html che si trova nella directory CoseInteressanti del server www.curioso.it 10 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html L’utente scrive nella barra degli indirizzi del suo browser http://www.curioso.it/CoseInteressanti/BelloQuesto.html e preme il tasto invio . 1. Il brouwser invia al server www.curioso.it la seguente richiesta GET /CoseInteressanti/BelloQuesto.html HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Accept: */* La prima riga ha il significato: recupera (GET) dalla directory CoseInteressanti del suo file system il file BelloQuesto.html e interpreta l’intero messaggio secondo il protocollo HTTP versione 1.1. La seconda linea informa il server che il browser richiedente è Internet Explorer 5.5 in esecuzione su Windows 2000 (Windows NT 5.0). La terza linea indica che il browser accetta file di tipo qualsiasi. 2. Il server recupera il file richiesto e 3. risponde al browser: HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 11 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html content-type: text/html content-length: 51 <html><body>Saluti <i>a tutti</i></body></html> La prima riga indica il protocollo utilizzato e il successo della ricerca del file richiesto. La seconda riga indica il server web : Microsoft Internet Information Server, versione 5.0. La terza e la quarta riga indicano rispettivamente (secondo lo standard MIME, Multipurpose Internet Mail Extensions) il tipo del file (html) e la sua lunghezza (51 caratteri). La riga bianca separa l’intestazione del messaggio (le prime cinque righe) dal contenuto del file (il corpo del messaggio), composto dalla riga <html><body>Saluti <i>a tutti</i></body></html> Il browser legge l’intestazione e in base a questa visualizza il corpo del messaggio. Il browser riconosce il formato HTML e attiva il suo interprete HTML per visualizzare Saluti a tutti L'esempio mostrato è il più semplice possibile. Vedremo nel seguito del corso che sono possibili interazioni più complesse. Identificazione delle risorse Per identificare i file gestiti da un server si utilizza un identificatore, detto URL (Uniform Resource Locator, volgarmente detto indirizzo), che specifica un protocollo di comunicazione (tra client e server), l'indirizzo IP o DNS del server e dal percorso del file all'interno del file system del server: protocollo://host:portaTCP/risorsa?query#frammento protocollo: protocollo a livello applicazione (livello 5 di TCP/IP) host: indirizzo IP o DNS del server 12 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html porta TCP: numero intero opzionale usato per distinguere due applicazioni attive sullo stesso host (due server web devono usare porte TCP distinte) risorsa: percorso del file relativo alla radice del file system gestito dal server query, frammento: sono parametri opzionali, il primo specifica dei dati per il server, mentre il secondo indica un punto della risorsa a cui si deve accedere. ad esempio http://server1.isttec.liuc.it:80/dida/calendario.htm è la forma simbolica DNS di un host. La porta TCP può essere omessa perché ad ogni protocollo applicativo di Internet è associata una porta di default, che nel caso di HTTP è la porta 80. l’URL precedente è allora equivalente a http://server1.isttec.liuc.it/dida/calendario.htm Un altro esempio è il seguente: http://design.iuav.it/˜mazzanti che in realtà è un'abbreviazione di: http://design.iuav.it/home/mazzanti/public_html/index.html perché nei sistemi Unix (con server web Apache) ogni utente ha una propria cartella contenuta nella cartella home e le pagine web dell'utente devono essere inserite nella cartella public_html. Inoltre la home page deve chiamarsi index.html Programmazione lato client e programmazione lato server Sia il client che il server possono compiere delle attività di elaborazione dati, oltre a richiedere e fornire pagine web. 13 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Ad esempio, la risorsa richiesta dal browser potrebbe essere anche un programma: http://server1.isttec.liuc.it/dida/calendario.exe una volta che il server web ha scoperto che il file è un programma, lancia la sua esecuzione, e una volta terminata, invia i risultati al browser. Il browser può inviare anche dei parametri per il programma (nello standard CGI, Common Gateway Interface) http://server1.isttec.liuc.it/dida/calendar.exe?giorno=010901&corso=C50 il server passa i parametri al programma calendar.exe Questo è un esempio di applicazione lato server: il programma si trova sul server e lì viene eseguito. I risultati della computazione sono inviati al client. I programmi CGI sono la forma più antica di programmazione lato server. Nel corso degli anni sono emerse altre tecnologie: PHP, linguaggio di scripting lato server, Java servlet, Java Server Pages (la controparte lato server degli applet), Microsoft.NET . I programmi lato server hanno lo scopo principale di fornire risultati che dipendono non solo da dati forniti da un utente, ma anche da dati che risiedono sul server, ad es. in una base di dati gestita dal server. Una tipica applicazione lato server riceve dei dati da un client e li utilizza per interrogare una base di dati locale. I risultati dell'interrogazione sono elaborati e restituiti al client sotto forma di pagina web creata dinamicamente (questo è ciò che accade quando ad esempio si interroga Google). Un'applicazione lato client corrisponde a uno o più programmi incorporati in una pagina web. Quando la pagina viene trasferita da un server a un client, il browser esegue i programmi 14 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html incorporati nella pagina. Le pagine web diventano così delle applicazioni vere e proprie, e.g. giochi o moduli d’ordine. Si possono creare effetti visivi, controllare la finestra del browser, realizzare varie forme di interazione. Le principali tecnologie lato client sono: JavaScript, linguaggio di scriptig lato client, Java applet, applicazioni Flash . Le applicazioni lato client hanno lo scopo di arricchire l'interazione tra utente e browser e di ridurre il carico computazionale dei server. Una tipica applicazione lato client è il controllo dei dati inseriti in un form (modulo) prima che siano inviati a un server. Se i dati sono sbagliati o incompleti, l'applicazione richiede all'utente di correggere o completare i dati e solo dopo la correzione i dati sono inviati. Se il controllo avvenisse sul server e i dati fossero sbagliati, il server dovrebbe rinviare al client il modulo chiedendo di riempire nuovamente il modulo, con maggior perdita di tempo. Ipertesti e il linguaggio HTML Un ipertesto (detto anche pagina web) è un documento con estensione .html o .htm che fa riferimento a informazioni multimediali come testi, suoni, immagini, filmati e riferimenti ad altri ipertesti, in modo che le informazioni risultino organizzate in una rete che può essere percorsa seguendo i collegamenti (link) ad altre pagine e non semplicemente in ordine sequenziale. Un ipertesto può contenere anche codice eseguibile applicazioni Flash) e file di servizio (fogli di stile CSS). (applet Java, script JavaScript, Il linguaggio HTML (HyperText Markup Language) è un linguaggio a marcatori o di markup (markup language) per la descrizione di ipertesti. Un file HTML descrive un ipertesto. 15 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Il contenuto di un file HTML è interpretato da un browser che effettua la visualizzazione dell’ipertesto descritto dal file. Un file HTML è un file di testo (ha estensione .html o .htm) che descrive una pagina web secondo la sintassi del linguaggio HTML. Un documento HTML contiene una sequenza di istruzioni di formattazione (tag, marcatore) e delle informazioni (contenuti) da visualizzare. Un tag è racchiuso tra parentesi angolari. Normalmente esiste un tag iniziale e un tag finale, che delimitano il raggio d’azione del tag,ad es. <B> testo in grassetto </B> visualizza il testo compreso tra <B> e </B> in grassetto. Alcuni tag sono singoli (senza tag finale), ad esempio nel testo da visualizzare. Tutti i file HTML iniziano con il tag Due tag importanti sono <HEAD> e <HTML> <BODY>, <BR> che inserisce un’interruzione di riga e terminano con il tag </HTML> che descrivono l’intestazione e il corpo di un ipertesto. il tag <HEAD> appare dopo il tag <HTML> e contiene informazioni utili per la gestione e visualizzazione del documento, come il tag <TITLE> che da il nome alla finestra del browser che visualizza il documento. Ad eccezione di documento. <TITLE>, i tag dell’intestazione non descrivono oggetti visualizzati nel Al termine dell’intestazione, segnalata dal tag dal tag <BODY> </HEAD>, inizia il corpo del documento, segnalato I tag all’interno del corpo di un documento determinano l’aspetto dell’ipertesto, descrivendo gli elementi (testo, immagini, etc. ) in esso contenuti. 16 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html Un tag può avere dei parametri, detti attributi, che vanno inseriti prima della parentesi chiusa di un tag iniziale. Struttura tipica di un documento HTML <HTML> <HEAD> intestazione del documento </HEAD> <BODY> corpo del documento </BODY> </HTML> I tag si scrivono per convenzione con caratteri maiuscoli ma possono essere scritti anche con caratteri minuscoli, non sono cioè case sensitive. Visualizzazione di caratteri speciali Un browser non visualizza i caratteri non stampabili, come spazi, tabulatori, ritorni a capo (return) presenti nel corpo di un documento. L’inizio di un nuovo paragrafo di testo è indicato dal marcatore opzionale. Il tag <BR> <P> ; il marcatore finale </P> è provoca un ritorno a capo del testo. E' bene non usare mai lettere accentate, bensì usare i codici corrispondenti (e.g. &egrave; ) . è si scrive Commenti HTML 17 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web I commenti HTML iniziano con http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html <!–- e terminano con --> . Un qualsiasi testo all’interno di un commento HTML non viene visualizzato dal browser. Creazione di un documento HTML Poiché un documento HTML è un file di testo, possiamo creare un ipertesto usando: un qualsiasi editor di testi, anche i più semplici come Blocco Note o Word Pad, in grado di salvare file di testo. La visualizzazione del documento si effettua successivamente aprendo il documento con un browser. un’applicazione per la creazione di documenti HTML (editor HTML) di tipo WYSIWYG (What You See Is What You Get) che dispone di un’interfaccia grafica e funziona come i più moderni programmi di videoscrittura. Visualizzano la pagina in costruzione. Gli editor HTML editor di testo vantaggi: si ha un controllo totale sul codice HTML, ottenendo così del codice ottimizzato, senza ridondanze. svantaggi: la scrittura è resa faticosa dal fatto di usare uno strumento molto semplice e risulta impossibile da utilizzare nella costruzione di siti complessi. editor HTML (editor di pagine/editor di siti) vantaggi: facili da usare, non è necessario conoscere HTML per costruire pagine e siti web. svantaggi: questi editor non generano codice ottimizzato e/o standard. Gli editor HTML si dividono in editor di siti (Dreamweaver, FrontPage): gestiscono un intero sito web, ovvero un 18 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html insieme di pagine di proprietà di un’unica organizzazione o persona. editor di pagine (FrontPage Express, Netscape Composer): gestiscono una sola pagina web. Perché studiare HTML se esistono strumenti che non richiedono la conoscenza di HTML ? Gli editor HTML possono generare codice non ottimizzato o non conforme agli standard, ricorrono a istruzioni non standard; inoltre, conoscere HTML consente di ritoccare e perfezionare il codice generato da un editor HTML. Scrittura e visualizzazione di un file HTML Creazione e visualizzazione file HTML Scrivere il documento HTML con un editor di testo; Salvarlo in un file con estensione .html ; aprire il file con un browser, cliccando sull’icona del file; se l’aspetto del file non è soddisfacente, occorre ripetere i tre passi seguenti fino ad ottenere il risultato voluto: 1. modificare il file usando nuovamente l’editor di testo; 2. salvare le modifiche apportate; 3. visualizzare la copia aggiornata del file nel browser (tasto “ricarica” o “aggiorna”) . 19 of 20 05/06/2010 04:02 PM Lab. Inf. e Web Design - Introduzione al Web http://www.webalice.it/mazzantis95/LIWD_Internet_e_%20WWW.html I linguaggi di markup I linguaggi di markup sono una famiglia di linguaggi basati sul concetto di marcatore (tag), il cui capostipite è SGML (Standardized General Markup Language). HTML è quindi un linguaggio (forse il più noto) di tale famiglia introdotto per la descrizione di ipertesti. Ma esistono altri linguaggi di markup che nel frattempo sono stati introdotti e utilizzati con successo nel Web. Il più importante è forse XML (eXtensible Markup Language), in quanto esso permette di definire altri linguaggi di markup per applicazioni specifiche come XHTML, SVG, SMIL, WML. In tal senso, XML è da considerarsi un metalinguaggio di markup. I linguaggi di markup definiti tramite XML sono detti linguaggi basati su XML (XML-based language) o applicazioni XML. Molti linguaggi basati su XML sono impiegati nel Web. Ad esempio, XHTML (eXtensible HyperText Markup Language) è un linguaggio per la descrizione di ipertesti che importa da HTML quasi tutti i marcatori e può essere usato in alternativa a questo per la definizione di pagine web. I due linguaggi sono molto simili, ma molti oggi preferiscono usare XHTML poiché il browser può meglio controllare la conformità del codice di una pagina alla sintassi del linguaggio. Nel seguito, noi utilizzeremo il termine (X)HTML per indicare indifferentemente il linguaggio XHTML o il linguaggio HTML. 20 of 20 05/06/2010 04:02 PM