Internet e Web


Internet e' il nome della piu'  diffusa rete di reti di computer.  Una data organizzazione puo'  costituire una rete di computer collegati tra loro da canali di comunicazione che permettono lo scambio di informazioni e servizi.   Reti di organizzazioni diverse possono essere interconnesse permettendo lo scambio di informazioni al di a' delle frontiere di singole organizzazioni. Per rendere possibile tale scambio, oltre all'  evidente necessita'  di un canale fisico, sono necessari coordinamenti ed accordi (standardizzazioni) a vari livelli in modo da rendere possibile anche un uso significativo dei canali fisici di comunicazione.

A tal fine sono stati (e tuttora vengono)  disegnati  speciali formati, speciali regole che governano le modalita'  di interazione tra macchine eterogenee appartenenti a reti diverse.  Queste regole, formati o specifiche sono genericamente indicati come protocolli.
Ad ogni servizio utilzzabile su Internet corrispondono diversi protocolli che regolano vari aspetti della comunicazione.

Qui vogliamo  accennare al livello piu'  "alto": i protocolli che governano il comportamento delle applicazioni direttamente utilizzate dall'  utente per accedre ai vari servizi di Internet.  Esempi sono:  i protocolli per la posta elettronica (SMTP, ma anche POP, IMAP), il protocollo del Web (HTTP), del trasferimento file (FTP, SFTP), dei newsgroup usenet (NNTP). Al di la'  dei nomi delle specifiche applicazioni,  sono i protocolli  sottostanti che suddividono Internet in domini separati  di applicazioni.

Guardiamo piu'  da vicino un servizio cruciale per Internet cosi'  come appare oggi all'  utilizzatore: il Web. Si tratta di un servizio che permette di mettere a disposizione  informazioni in formati eterogenei in modo che opportuni programmi (i cosiddetti browser) possano accedere a vari computer connessi via rete (i server Web) per richiedere (e in taluni casi scambiare) informazioni.

I  browser (ce ne sono diversi per qualsiasi piattaforma)  sono applicazioni che permettono all'  utilizzatore del computer su cui girano di accedere all'  informazione disponibile su alcuni server. Questa informazione viene richiesta dal browser  al server e da questo (se disponible)  inviata al browser che, a seconda del tipo e formato dell' informazione la rendera'  fruibile secondo diverse modalita'.  Nella grande maggioranza dei casi, l'  informazione corrisponde a  pagine di ipertesti.  Pagine cioe'  in cui appaiono collegamenti  all'  informazione contenuta in altre pagine, eventualmente situate su altri server.

Proviamo a vedere piu'  da vicino la transazione che avviene tra due computer quando il browser di uno visualizza una pagina che contiene un collegamento (link) ad un'  altra pagina e l'  utente "clicca"  sul link.

Per esempio, che succede se si clicca sul collegamento seguente ?

Esempio di link

La pagina, il  cui strutturazione logica e'  descritta mediante un opportuno linguaggio di disegno  (HTML)  in corrispondenza del link contiene alcune informazioni  sulla localizzazione di un' ulteriore e nuova pagine che puo' risiedere sulo stesso server ma anche su uno remoto. Per esempio, nel caso del link sopra riportato,  la descrizione HTML dello stesso e':

<a href="http://www-dft.ts.infn.it/%7Epastore/DIDA/chim/">
In questo esempio www-dft.ts.infn.it rappresenta il nome del server Web a cui verra' chiesta l' informazione localizzata mediante la rimanenta parte dell' indirizzo ( %7Epastore/DIDA/chim/ ).

La richiesta avviene secondo le regole del  protocollo HTTP.  Un esempio semplificato potrebbe essere il seguente:

Il browser  invia al server la richiesta. Nel protocollo  HTTP versione 1.0 (ormai superata ma utile dal punto di vista didattico per la sua maggiore semplicita' )
la richiesta sarebbe formulata con un
GET /%7Epastore/DIDA/chim/  HTTP/1.0
seguito da una linea vuota. A tal punto il server invia la pagina richiesta, se esiste. Il browser ricevera' a allora un blocco di informazione di tipo testo:



<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1"><br>
<meta name="GENERATOR"
content="Mozilla/4.78 [en] (X11; U; OSF1 V4.0 alpha) [Netscape]">
<title>Informatica - CdL Chimica</title><br> <br><br>
<h1> Didattica</h1><br>
<hr width="100%"><br><h2> <b>
<font size="+2">Corso di Laurea in Chimica</font></b></h2><br><br><p><br><br></p><p><b><font size="+2">A.A. 2009/10: Corso di Informatica<br></font></b> </p><br>
<ul><br> <br>
<li> <a href="prog.html">Programma 2009/10</a></li><br>
<li><a href="diario.html">Diario delle lezioni</a></li><br>
<li><a href="esami.html">Esami e ricevimento studenti<br><br></a></li><br><br> <br><br> <br><br></ul>
<br><b>Materiale didattico presente in rete</b><br><br><br><br>    <br><br>  <br><br>  <br><br><br><hr><br>
<address> e-mail:  pastore@ts.infn.it</address>
<br><br><br>Department of Theoretical Physics, University of Trieste, Italy -
<a href="http://www-dft.ts.infn.it/">Home-page</a>
Questa informazione (in linguaggio HTML) contiene sia l'  informazione vera e propria, sia le istruzioni per il browser su come visualizzarla (p.es. Il titolo in caratteri piu'  grandi etc.),  sia le cosiddette meta-informazioni.  Informazioni cioe'  sulla pagina stessa (titolo,  applicazione che ha generato l' HTML,...).

Il browser interpreta le direttive HTML (i cosiddetti tag) rappresentate da tutto quello che e'  racchiuso tra  < e > visualizzando il contenuto di testo (e,  se presenti di immagini  ulteriore materiale multimediale.