LEZIONE 1 Introduzione al web, Protocollo HTTP e prime nozioni di HTML parte 1 Benvenuti alla prima lezione del corso di base "Linguaggio di mark-up HTML 4". In questa lezione, oltre ad una parte introduttiva generale relativa al "mondo del web", verranno presentate le prime nozioni riguardo l'HTML, che continueranno anche nella prossima lezione. INTRODUZIONE AL WEB E PROTOCOLLO HTTP BREVE STORIA Nel 1957 l'Unione Sovietica lancia in orbita lo Sputnik, il primo satellite artificiale della Terra. La reazione degli Stati Uniti non si fa aspettare e per meglio competere nella corsa allo spazio, il governo USA assegna al programma spaziale maggiori fondi che vengono gestiti dall'ARPA (Advanced Research Projects Agency). All'inizio degli anni Sessanta il programma spaziale diventa autonomo (NASA) e passa ad occuparsi di ricerca informatica di base. Uno degli argomenti di ricerca è il collegamento di computer tra di loro, cioè le reti di computer: su questo tema viene avviato il progetto ARPANET, la prima rete di computer. Nel dicembre 1969 entra in azione con un primo nucleo di quattro computer. Durante gli anni successivi vengono collegati diversi altri computer. Nel 1972 ARPANET ha 15 nodi ed è operativo anche il software per spedire e ricevere mail. All'inizio degli anni 80 la rete conta 200 nodi e si separa lo scopo bellico da quello scientifico, nel 1981 si iniziano a collegare computer mainframe universitari per scopi di comunicazione via e-mail. A metà degli anni 80, Internet è una tecnologia ormai stabile e supporta una comunità internazionale di ricercatori e sviluppatori e comincia ad essere usata anche da altre comunità per le quotidiane esigenze di comunicazione. Uno dei servizi più diffusi è la posta elettronica. Nel 1985 parte il programma NSFNET della National Science Foundation, una rete di supercomputer dedicati alla ricerca e all'educazione per la quale viene scelto il protocollo TCP/IP. Nel 1987 la rete inizia ad essere usata anche per altri scopi: newsgroups, network games, archivi di file. Iniziano i lavori di ampliamento che durano fino al 1995. La dorsale è cresciuta da 6 a 21 nodi e 50.000 reti nel mondo (29.000 negli USA) e viene concessa per gli usi commerciali. Per lo sviluppo del commercio elettronico manca ancora il web, che comincia a svilupparsi nei primi anni 90. Il web nasce in Europa, al CERN (Conseil Européen pour la Recherche Nucléaire), il Centro di Ricerca per la Fisica delle alte energie di Ginevra, di cui sono membri tutti gli stati europei oltre alla Federazione Russa e agli Stati Uniti d'America, con ricercatori sparsi in tutto il mondo. Tra il 1989 e il 1991 Tim Berners-Lee propone e realizza un sistema per documenti ipertestuali da usare all'interno del CERN (Conseil Européen pour la Recherche Nucléaire), Il linguaggio di formattazione del testo è chiamato HTML (HyperText Markup Language). Berners-Lee sviluppa anche un primo browser solo per documenti di testo. INTERNET Il principio su cui si basa internet è quello di una rete che collega milioni di computer tra loro presenti in tutto il mondo. Internet utilizza le connessioni di telecomunicazione (ad esempio la rete telefonica) presenti ovunque nel mondo. Ogni computer indipendentemente da dove si trova, tramite Internet, può connettersi con un altro. La comunicazione avviene in tempo pressochè reale ed in maniera interattiva. Internet è una complessa rete formata da una ragnatela di più piccole reti regionali o locali. Per comprendere questo concetto si può immaginare una moderna rete stradale fatta di autostrade transcontinentali che collegano le metropoli. Dalle metropoli partono superstrade di collegamento alle piccole cittadine, dove i residenti viaggiano su strade residenziali. Quando ci si collega ad un sito internet è come se una persona uscisse da casa, prendesse la macchina fino all'aereoporto, da qui con un aereo facesse uno scalo tecnico a Singapore, per poi ripartire fino in Australia. Sceso dall'aereo, con un taxi, si avvicina alla città dove è custodito il sito richiesto. Una volta prese tutte le informazioni torna indietro per la stessa strada e mostra sul vostro computer i documenti raccolti. WWW La rete mondiale di computer di internet è conosciuta come World Wide Web o WWW e costituisce un'elemento essenziale e tipico di moltissi tra gli indirizzi internet più comuni: www.nomedelsito.it ogni elemento di un indirizzo è suddiviso di norma da un punto e, nell'esempio, oltre a www, è presente il "nome del sito" e poi segue .it, che rappresenta la localizzazione geografica o tipologica del sito. Di norma questo suffisso può variare secondo la nazione, utilizzando la sigla internazionale (.it, .uk, .de, .fr) oppure descrivendo la tipologia di sito (.com .info .net ecc) All'interno della rete www si scambiano essenzialmente informazioni che sono contenute i semplici file, le pagine web, che possono contenere immagini, tabelle, colori o anche animazioni. I BROWSER Perché un utente possa visualizzare una pagina web così come siamo abituati, è necessario che i files di internet siano interpertati da un "Browser", un programma del computer, che farà da interprete tra la macchina e l'uomo. I browser leggono le informazioni contenute nel file, le traducono e le visualizzano sullo schermo una riga alla volta, mostrando, ad esempio, prima una foto e poi la sua descrizione. Il linguaggio HTML ufficiale è un insieme di "comandi" che i browser dovrebbero essere in grado di interpretare. MOSAIC, uno tra i primi browser di concezione moderna, fu sviluppato dal National Center for Supercomputing Applications (NCSA) all'Università dell'Illinois e fu il primo a combinare grafica a colori e testo. Fra i browser attuali Internet Explorer, in dotazione con i sistemi Windows, è senz'altro il più diffuso ma non è l'unico. Nuove realtà stanno animando il panorama e si possono citare innumerevoli versioni di browser, anche open source, tra cui ricordiamo i più comuni: NETSCAPE, MOZILLA, SAFARI, LYNX. IL PROTOCOLLO HTTP Il protocollo HTTP (HyperText Transfer Protocol) è il protocollo di comunicazione tra browser e server web. Per stabilire un canale di comunicazione tra due programmi (client e server) che girano su macchine diverse un programma deve iniziare la connessione e l'altro deve ricevere. Il server viene avviato per primo, avvisa il sistema operativo che desidera accettare connessioni di rete in ingresso e si mette in attesa. Quando un client su una macchina remota desidera spedire o prelevare informazioni dal server apre una connessione con il server, trasferisce le informazioni e chiude la connessione. Un client web, il browser, è un programma in grado di interrogare un server web utilizzando il protocollo http e di interpretare la risposta. Normalmente tale risposta è un file HTML da visualizzare. Il browser deve dunque avere anche le capacità di visualizzare il file HTML in una finestra del computer. Un server web è invece un programma che deve rispondere alle richieste dei browser web, in modo positivo o negativo, e fornire la risorsa richiesta. La comunicazione tra browser e server avviene mediante il protocollo HTTP, che ambedue i programmi devono supportare. Il server può risiedere su qualunque macchina (Windows, Unix, Macintosh) ed è continuamente in funzione, in attesa che gli vengano fatte delle richieste da parte dei browser. Tutte le comunicazioni tra client e server web avvengono mediate il protocollo HTTP che è un insieme di regole per richiedere e fornire risorse Internet. Il protocollo HTTP definisce un metodo di interazione client-server ottimizzato per le connessioni brevi e veloci necessarie per le connessione tra client web e server web. Si tratta di un protocollo generico, stateless e leggero. Generico, significa facilmente estensibile per comprendere servizi di vario tipo, non solo transazioni ipertestuali. Stateless significa che, tra una connessione e l'altra, il server non tiene nota della connessione precedente, e quindi tutte le connessioni sono trattate alla stessa maniera, come se si trattasse ogni volta di un nuovo client. Leggero, significa che il client si connette al server solo per il tempo strettamente necessario per trasmettere la risorsa, e quindi chiude la connessione. Per accedere ad un server web si utilizza l'URL (Universal Resource Locator) per indicare la risorsa richiesta e è di norma scritto con la seguente sintassi: http://server[:port]/[path/][file] dove server è l'indirizzo internet, il nome o l'indirizzo IP, port è il numero della porta a cui connettersi, path indica al server la directory del file richiesto, e file è il nome del file. In mancanza della specifica della porta il valore di default è stabilito sulla porta 80. Es. http://www.uiciechi.it:80/forum/default.asp Nell'esempio precedente viene esplicitata la porta 80 ma si può anche scrivere: http://www.uiciechi.it/forum/default.asp PRIME NOZIONI DI HTML PARTE 1 ASPETTI GENERALI DELL'HTML Per poter sfogliare una o più pagine web è necessario che un programma, come già detto un browser, traduca ciò che è scritto nei file delle pagine, in una modalità comprensibile per il visitatore. Per capire come ciò avviene si può fare un paragone con un'applicazione conosciutissima quale è word. Quando si scrive un documento con word, all'interno del file, oltre al testo vengono registrati molti elementi che dicono al programma come visualizzare gli attributi del testo (grassetto, corsivo, carattere, ecc) o quali immagini introdurre nel documento. Ugualmente i file di internet contengono sia il testo sia gli elementi necessari ad una corretta visualizzazione del documento. Per poter scrivere una pagina web si utilizza il linguaggio di mark-up HTML. L'HTML è apprezzato per la sua facilità d'uso, i documenti sono di norma scritti sfruttando proprio questo codice e presentano il suffisso ".html" oppure ".htm" nel nome. Tali documenti non sono altro che dei normali file di testo con dei codici di formattazione che contengono informazioni sugli stili del testo, sui titoli dei documenti, paragrafi, liste, eccetera. Per sua natura il linguaggio HTML consente l'utilizzo di collegamenti ad altri file o HTML o di altra tipologia normalmente chiamati "link". Proprio la facilità di muoversi tra più documenti, attraverso un semplice click del mouse, ha determinato la diffusione di questa tecnologia. All'interno della rete di internet, va segnalato, esistono innumerevoli ulteriori tipologie di file che si basano in qualche modo sull'HTML ma questo linguaggio rimane comunque uno degli standard più utilizzati. Inoltre va ricordato che esistono molte applicazioni di trattamento dei testi che possono esportare dal proprio formato nativo all'HTML, rendendo disponibili pagine web con facilità e risultati più o meno buoni. UN PASSO AVANTI Il linguaggio HTML è basato sull'interpretazione lineare di particolari codici di formattazione detti contrassegni (in inglese mark-up) che identificano, riga per riga, come deve essere visualizzato un testo o una immagine. Se osserviamo un file HTML senza che intervenga un browser nella traduzione dal linguaggio alla sua rappresentazione, si nota la caratteristica scrittura (e sintassi) che dovremo poco a poco comprendere e riprodurre:
spacer
spacer News & Reviews
Senza entrare adesso nello specifico del linguaggio HTML, è importante cominciare a prendere confidenza con la scrittura del codice. Come si nota alcuni elementi sono racchiusi tra due simboli particolari: < e >. Quando parti di codice sono racchiuse tra i simboli < e > assumono il nome di TAG. Ogni TAG è un marcatore, ossia un contrassegno che identifica una particolare interpretazione a carico del browser, e determina una visualizzazione specifica per quell'elemento. I TAG devono racchiudere l'elemento e la sintassi si presenta come segue: elemento Quando un browser "legge" le righe di codice cerca l'apertura del marcatore, poi legge l'elemento contenuto fino ad arrivare alla chiusura del marcatore che identifica gli attributi. Apertura marcatore: Elemento contenuto tra l'apertura e la chiusura del marcatore Chiusura marcatore: Il linguaggio HTML, infatti, non descrive una pagina come fanno altri linguaggi grafici, per esempio caratterizzando un elemento e la sua posizione nella pagina, specificandone il font, le dimensioni in punti o lo spessore delle linee. Al contrario il linguaggio HTML identifica (contrassegna) il contenuto del file mediante alcuni attributi che vengono successivamente definiti dal browser usato per visualizzare il file. I file HTML possono contenere, oltre al testo, anche immagini, file audio o video, animazioni e molto altro ancora ma sempre racchiusi da particolari marcatori.