Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Nel 1991, Al Gore introduce un atto, l’High Performance Computing Act of 1991 (HPCA),
che – grazie all’investimento di 600 milioni di dollari e all’attiva collaborazione di industrie,
accademia, e governo – prevedeva la creazione di un’enorme rete ultraveloce chiamata
National Research and Education Network. Obiettivo: permettere la connessione
contemporanea di milioni di computer, non solo appartenenti a enti di ricerca o a
industrie, ma (e soprattutto) posseduti da comuni cittadini.
Che cos’è l’Internet Protocol (IP)
Lo scambio di dati tra due computer collegati in rete è realizzata mediante l’uso dei pacchetti.
Esiste una gerarchia di incapsulamento dei dati da spedire, definita dalla suite di protocolli
Internet TCP/IP, organizzata in quattro livelli.
Strato applicazione – dove vengono creati i dati dell’utente (ad esempio il messaggio
di richiesta per una pagina web, o il messaggio di risposta contenente la pagina web
richiesta) ed è dove i protocolli di alto livello, come HTTP, agiscono.
Strato trasporto – è lo strato che permette la comunicazione tra il computer mittente
e il computer destinatario, che ospitano le due applicazioni usate per la comunicazione
a livello applicazione. In Internet, questo strato è regolato dal protocollo TCP.
Strato di rete – è lo strato che permette la comunicazione tra i vari nodi presenti in
Internet, e che di fatto permette l’instradamento dei i vari pacchetti dal mittente fino al
destinatario passando tra le varie reti di cui Internet è composto. Questo strato è
regolato dal protocollo IP.
Internet Protocol (IP) - È il protocollo che regola l’instradamento attraverso i vari nodi di
Internet dei vari pacchetti IP che, in qualche modo, compongono il messaggio originale.
Due versioni, entrambe correntemente utilizzate in Internet: la versione 4 (IPv4) e la
versione 6 (IPv6). Pacchetti IP specificano, per ogni pacchetto, l’indirizzo IP del mittente e
l’indirizzo IP del destinatario – anche il mittente ha un indirizzo IP assegnato, e anche tutti i
nodi di Internet ne hanno uno. Un indirizzo IP può essere statico (non cambia) o dinamico
(cambia ogni volta che ci si connette a Internet).
Comunicazione senza connessione - I pacchetti IP di un certo messaggio vengono instradati
in modo completamente indipendente tra loro, visto che ogni pacchetto contiene
esplicitamente l’indirizzo del computer a cui deve essere recapitato.
Nello strato di rete, il mittente e il destinatario non devono mettersi d’accordo prima di
inviare i dati, ma semplicemente agiscono senza conoscere l’eventuale stato (attivo, non
disponibile, etc.) dell’altro. I pacchetti possano perdersi, non arrivare nell’ordine in cui sono
stati mandati, arrivare duplicati, e quant’altro – e il protocollo IP non è responsabile della
risoluzione di queste problematiche, demandando tutta questa gestione allo strato di
trasporto (protocollo TCP).
Domain Name System (DNS)
È una sorta di elenco del telefono di Internet. Partendo dal nome di un server web (es:
it.wikipedia.org) permette di ottenere il relativo indirizzo IP (es: 208.80.154.224).
In Internet ci sono diversi computer speciali chiamati server DNS il cui ruolo è quello di
restituire il corretto indirizzo IP per un certo nome a seguito di una richiesta fatta dal DNS
Resolver. Il server DNS può chiedere aiuto ad altri server DNS se non conosce direttamente
l’IP dell’host richiesto dal Resolver.
- ICANN (Internet Corporation for Assigned Names and Numbers), un ente sotto il diretto
controllo del Ministero del commercio degli Stati Uniti, è storicamente deputata
all'assegnazione degli indirizzi IP a livello internazionale e alla gestione
operativa dei DNS.
- Lo IANA (Internet Assigned Numbers Authority) emanazione dell'ICANN, è un organismo
che ha la responsabilità nell'assegnazione degli indirizzi IP.
- La Registration Authority (RA) italiana è responsabile dell'assegnazione dei nomi a
dominio nel country code "IT" (ISO 3166).
Router
Dispositivo di rete dedicato a svolgere un compito molto peculiare e preciso: l’instradamento
dei pacchetti IP dal mittente fino al destinatario.
I router agiscono principalmente sullo strato di rete, svolgendo il ruolo di vigile urbano di
Internet: veicolano il traffico dei pacchetti IP verso il percorso più appropriato dal mittente al
destinatario.
• Il server di destinazione deve disporre di porte aperte in grado di accettare e avviare nuove
connessioni. Quando il server riceve il pacchetto SYN dal nodo client, risponde e restituisce una
ricevuta di conferma, il pacchetto ACK (dall’inglese acknowledgement = “conferma”) o
SYN/ACK.
• Il client riceve il SYN/ACK dal server e risponde con un pacchetto ACK.
• Al termine di questo processo, viene creata la connessione e l’host e il server sono in grado di
comunicare.
Il meccanismo di chiusura è il four-way handshake.
Altri protocolli basati su TCP:
- Il Simple Mail Transfer Protocol (SMTP) è il principale protocollo di comunicazione
dello strato applicativo per spedire email. Ogni volta che si spedisce una mail, in realtà
non viene recapitata direttamente al destinatario, ma viene raccolta da un server di
posta di competenza del dominio della mail del destinatario.
- Il Post Office Protocol (POP) e l’Internet Message Access Protocol (IMAP) sono
utilizzati per richiedere e ricevere email da un server di posta. Il POP una volta
consegnati i messaggi li cancella dal server, mentre l’IMAP non li elimina
automaticamente, ma è necessario che sia l’utente a eliminarli se lo desidera.
- Il File Transfer Protocol (FTP) è un protocollo che permette il trasferimento di un
qualunque file da un computer ad un server e viceversa. È uno dei protocolli più adottati
-----------------------------------------------------------------------------------------------------------------------------------------------
CAPITOLO 8 – COSA SUCCEDE QUANDO SI CLICCA SU UN LINK: LA
PAGINA WEB
Codifica - La codifica in ambito digitale è la rappresentazione di un documento su un supporto
digitale, in funzione di un determinato punto di vista, secondo un codice condiviso in modo
sostanziale dall’uomo e dalla macchina (computer/calcolatore) a cui è destinata la codifica.
- Codifica di livello zero ciascun carattere rappresentato in codice binario
- Codifica di alto livello rappresentazione dell’organizzazione strutturale
Forma leggibile dalla macchina (Machine Readable Form, l’acronimo è MFR) - Il testo
trasmesso deve essere stato codificato dall’emittente in modo che la macchina sia in grado di
non disperdere nessuno dei livelli di informazioni presente nell’intenzionalità dell’emittente.
- Codice ASCII (America Standard Code for Information Interchange): ISO 646 [7 bit
(27= 128 caratteri)] è il set di caratteri totalmente supportato. Mancano accenti e
altre lettere fondamentali per la corretta ortografia della maggior parte delle lingue
europee.
- Codice ISO Latin-1: ISO 8859-1 [8 bit (28= 256 caratteri), comprende anche l’ISO 646]
contiene tutti i caratteri necessari per scrivere in tutte le lingue neolatine,
anglogermaniche e “nordiche”.
- Codice Unicode: ISO 10646 [16 bit (216= 65.536), comprende ISO 646 e ISO 8859-1]
contiene anche i caratteri di molti alfabeti non latini e caratteri non alfabetici,
ma è ancora scarsamente supportato.
- UTF-8: versione a 8 bit di Unicode (versione compressa), è il set di caratteri
predefinito in HTML5
Da SGML a XML
In modo da definire formalmente la marcatura relativa a un certo testo, sono stati sviluppati
diversi linguaggi di markup. Quelli di maggiore rilevanza per il Web seguono una sintassi
specifica introdotta per la prima volta nello Standard Generalized Markup Language
(SGML, 1986), e poi ripresa dal suo successore, l’Extensible Markup Language (XML,
1996).
Sono metalinguaggi: definiscono le regole sintattiche che devono essere seguite per
specificare la marcatura di un testo, ma non impongono alcun vocabolario particolare per il
nome da assegnare ai vari marcatori – cosa che invece viene poi fatta quando si definisce un
linguaggio di marcatura vero e proprio basato su queste regole sintattiche.
SGML
- Standard: è uno standard formale sviluppato dalla ISO e pubblicato ufficialmente con la
sigla ISO 8879:1986.
- Generalized: è sistema di codifica dichiarativo fortemente astratto e generalizzato ed
al contempo altamente flessibile.
- Markup Language: è un metalinguaggio per la codifica e marcatura testuale. Fornisce
le regole per la creazione di grammatiche e vocabolari personalizzati e poter creare altri
linguaggi.
- È una supergrammatica ed anche il “papà” dell’HTML
HTML
L’Hypertext Markup Language (HTML) è il linguaggio di markup usato per creare tutte le
pagine web e le applicazioni presenti sul Web. È un linguaggio che segue una sintassi
simile a quella XML, e che mette a disposizione uno specifico vocabolario di elementi ed
attributi per identificare i vari ruoli strutturali e semantici di una pagina web. Ogni qual volta
viene fatta una richiesta per una pagina web, viene restituita una copia di un documento HTML
contenente opportuni marcatori che il browser è in grado di interpretare e visualizzare a
video in qualche modo.
Prima versione di HTML (di Berners-Lee) è del 1990, ed era basata su SGML.
HTML inizia ad avere una fortissima diffusione in seguito ai primi utilizzi commerciali del Web.
Negli anni successivi al 1990, durante la cosiddetta prima guerra dei browser tra Netscape e
Microsoft, vengono rilasciate diverse versioni di HTML, fino ad arrivare alla versione 4.01 del
1999, che era piuttosto caotica: alcuni marcatori funzionavano soltanto su alcuni browser o su