Sei sulla pagina 1di 23

Riassunto materiale

informatica di base DAMS


Elementi di Informatica
Alma Mater Studiorum – Università di Bologna
22 pag.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
INFORMATICA DI BASE
CAPITOLO 1 – COMPUTER, PENSIERO COMPUTAZIONALE E STRUTTURE
DATI
Definizione di Computer:
- Oggi: macchina per l'elaborazione di dati rappresentati da caratteri alfanumerici
variamente codificati, che vengono sottoposti a procedimenti aritmetici e logici,
memorizzati in archivi e resi reperibili e trasmissibili
- 17esimo secolo: qualcuno che “esegue calcoli matematici”
- Accezione più generica: qualsiasi agente (una macchina o una persona) che sia in
grado di fare calcoli e produrre una risposta (detta output) a partire da qualche
informazione iniziale (detta input).
I computer umani sono stati impiegati:
- Per calcolare le coordinate di oggetti extraterrestri (come i calcoli effettuati da
Alexis Claude Clairaut e colleghi per comprendere i vari passaggi della cometa di Halley,
nel 1700)
- Per creare tabelle di conversione verso il nuovo sistema metrico (Napoleone
Bonaparte, fine 700-inizio 800)
Primi computer meccanici:
- 1641: Blaise Pascal inventa la “pascalina”: prima calcolatrice meccanica ad essere
brevettata e commercializzata (addizioni e sottrazioni)
- 1671: Gottfried Leibniz la migliora creando il “cilindro di Leibniz”, la prima
calcolatrice in grado di eseguire tutte le operazioni aritmetiche (addizione, sottrazione,
moltiplicazione e divisione)
LA MACCHINA DIFFERENZIALE e ANALITICA
- 1822: Babbage sviluppa la Macchina differenziale (solo un prototipo parziale).
L'idea era di avere a disposizione una macchina che potesse gestire operazioni
simili a quelle effettuate dai computer umani, ma in modo che fossero eseguite
automaticamente, velocemente, e senza errori.
Prototipo parziale che non era programmabile; poteva utilizzare solo un numero
limitato di operazioni cambiando specifiche configurazioni della macchina.
- 1837: sviluppa la Macchina analitica (nessun prototipo, solo disegni del progetto).
Sarebbe dovuta essere il primo computer meccanico e general-purpose della storia.
Tramite l’uso di schede perforate inoltre la macchina avrebbe potuto ricevere in input
istruzioni e dati senza compiere manipolazioni alla macchina.
È programmabile e ed esegue ogni tipo di calcolo. Il progetto era basato sul telaio
(1801) di Joseph Marie Jacquard (uso di schede perforate).
C’è voluto più di un secolo per vedere sviluppate in una macchina fisica le idee presentate
nella Macchina Analitica. L’evoluzione della tecnologia computazionale ha avuto un’accelerata
soltanto a seguito della Seconda Guerra Mondiale. In quei tempi, molti calcolatori furono
costruiti per ragioni militari: la Bomba (1940), sviluppata da Alan Turing. È stata il
principale strumento che ha permesso a un gruppo di persone, rinchiuse in una base militare
segreta britannica di decifrare le comunicazioni tedesche che erano state cifrate
dalla macchina Enigma. Per quanto efficiente la Bomba permetteva lo svolgimento di una sola
operazione, anche se estremamente cruciale da un punto di vista storico.
Il primo computer interamente digitale, come pensato da Babbage con la sua Macchina
Analitica, è stato sviluppato negli Stati Uniti d’America soltanto qualche anno dopo.
1946: l’Electronic Numerical Integrator and Computer (ENIAC), il primo computer
interamente digitale e il primo computer elettronico general purpose. Era completamente
programmabile attraverso l’uso di cavi e interruttori. Questa invenzione è stata una delle più

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
cruciali pietre miliari della storia dei computer elettronici, rappresentando una sorta di “punto
fisso” nel tempo da cui tutti i moderni computer sono poi stati creati.
PENSIERO COMPUTAZIONALE
Programmare: comunicare ad un computer elettronico utilizzando un linguaggio (in questo
caso formale) che sia l’istruttore umano sia il computer stesso possano comprendere.
Approccio per risolvere problemi, sviluppare sistemi e capire il comportamento umano che
riprende i concetti fondamentali della computazione (= calcolo). Definisce i processi mentali
che coinvolgiamo quando formuliamo un certo problema ed esprimiamo le relative
soluzioni usando un linguaggio che un computer (sia esso umano o macchina) può
comprendere e, conseguentemente, eseguire. Astrazione: processo di rimozione dei
dettagli trascurabili di una situazione in modo da semplificarla, per così focalizzare
l’attenzione sulle sue caratteristiche principali.
Obbiettivo: Dare nuovamente forma alle astrazioni che abbiamo già immagazzinato in
passato come conseguenza della nostra esperienza personale – e che, spesso, riutilizziamo
inconsciamente. Quindi – permettere alle persone di pensare come se fossero computer
scientist.
Per organizzare l’informazione si usano le strutture dati: una sorta di contenitore dove
possiamo posizionare alcune informazioni, e che fornisce metodi specifici per aggiungere e
richiedere pezzi di questa informazione.
Esempi:
- Lista: Sequenza di elementi ordinati e potenzialmente ripetibili che si possono
contare, perché si può sapere quanti elementi essa contiene in un dato momento;
- Pila: Una specie di lista vista dal basso verso l'alto. Le operazioni di aggiunta e
rimozione seguono una strategia last in first out (LIFO), l'ultimo elemento che viene
inserito è il primo ad essere rimosso se richiesto.
- Coda: Una specie di lista vista da un’altra prospettiva. Le operazioni di aggiunta e
rimozione seguono una strategia first in first out (FIFO), il primo elemento che viene
aggiunto è anche il primo che viene rimosso a seguito di una richiesta.
- Insieme: Una collezione di elementi non ordinati e non ripetibili che si possono
contare.
- Dizionario: Una collezione non ordinata di elementi definiti da coppie chiave-valore
che si possono contare, dove la chiave non è ripetibile.
- Albero: Una struttura dati composta da un insieme di nodi collegati tra loro da una
relazione gerarchica genitore-figlio. I nodi di questa struttura dati vengono disposti
dall'alto verso il basso, contrariamente all'organizzazione dell'albero che siamo
abituati ad osservare in natura.
- il nodo genitore (parent node) è quello direttamente connesso quando ci si muove
verso il nodo radice;
- un nodo figlio (child node) è uno di quelli direttamente connessi quando ci si muove
lontano dal nodo radice;
- un nodo fratello (sibling node) è uno di quelli che condivide lo stesso nodo genitore;
- un nodo antenato (ancestor node) è uno di quelli raggiungibili seguendo
ripetutamente le relazioni genitore-figlio andando verso il nodo radice;
- un nodo discendente (descendant node) è uno di quelli raggiungibili seguendo
ripetutamente le relazioni genitore-figlio spostandosi lontano dal nodo radice.
- il nodo radice inizia l’albero ed è l’unico senza genitore, mentre il nodo foglia
termina l’albero ed è sprovvisto di figli.
- Grafo: Un insieme di nodi di una rete collegati da archi (che possono essere
orientati). Usati per descrivere, in termini astratti, molte situazioni del mondo reale:
tragitti tra città, relazioni tra persone nei social network, l’organizzazione dei
collegamenti ipertestuali tra pagine Web e le relazioni concettuali nelle basi di dati.
------------------------------------------------------------------------------------------------------------------------

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
CAPITOLO 2 – ALGORITMI E COMPUTABILITA’
Algoritmo: Un’astrazione di una procedura passo passo che prende qualcosa come input e
produce un certo output, scritta in un linguaggio specifico in modo che le istruzioni che
definisce possano essere comunicate e comprese da un computer in modo da ottenere
qualcosa come conseguenza dell’elaborazione di qualche materiale di input.
Programmatore: una persona che crea algoritmi e li specifica in programmi usando uno
specifico linguaggio comprensibile dal computer (elettronico).
ADA LOVELACE (1815-1852): “incantatrice di numeri”, era una matematica inglese. Ricordata
come la prima programmatrice di computer al mondo. Figlia di un poeta, fu capace di
applicare l’immaginazione al regno della scienza.
1833: partecipò ad una festa organizzata da Charles Babbage per presentare la Macchina
Differenziale, e ne fu così colpita che iniziò una corrispondenza epistolare con lui che
durò 27 anni.
1842: durante una conferenza a Torino dello stesso Babbage, la Macchina Analitica cattura
l’attenzione di un matematico italiano, Luigi Federico Menabrea, il quale pubblicò in
francese un saggio sull’argomento. Ada traduce in inglese il saggio di Menabrea, arricchisce le
teorie di Babbage con le sue osservazioni. Le Note di Ada, dopo circa nove mesi di inteso
lavoro, diventano il doppio della lunghezza del saggio stesso.
1843: pubblica le Note con l’intero saggio sulla rivista Taylor’s Scientific Review, e divennero
più famose del saggio e fecero di Ada la “prima programmatora della storia”. Ada firma
le Note con le sole iniziali A.A.L. (Augusta Ada Lovelace) perché alle donne non venivano
riconosciute unanimemente le stesse capacità intellettuali degli uomini.
3 concetti:
- 1. Nota A. Una macchina polifunzionale capace di essere programmata e
riprogrammata per compiere una gamma illimitata e mutevole di operazioni.
- 2. Una macchina con la possibilità di archiviare, manipolare, processare e
presentare ogni realtà esprimibile in termini simbolici: le parole, la logica, la
musica e qualsiasi altra cosa per comunicare la quale ci serviamo di simboli.
Ada Lovelace ha compiuto il salto concettuale: dalla semplice calcolatrice al
computer. L’idea al centro dell’era digitale: qualsiasi contenuto, qualsiasi dato,
qualsiasi informazione – numeri, simboli, testi, immagini, musica, video, suoni – può
essere espresso in forma digitale e manipolato mediante macchine.
- 3. Nota G. Programma o algoritmo computerizzato, i concetti di “subroutine”,
“ciclo iterativo” e “salto condizionato” (il mutamento del percorso di istruzioni al
presentarsi di determinate condizioni). Scrive un algoritmo per la macchina analitica per
calcolare i numeri di Bernoulli. Questo è conosciuto come il primo programma
informatico della storia, creato senza avere a disposizione la macchina reale, visto
che la Macchina Analitica era soltanto teorica, che di fatto fa di Ada la prima
programmatrice della storia.
ALGORITMO - Il termine algoritmo è una combinazione della parola latina algorismus (che, a
sua volta, è la latinizzazione del nome Al-Khwarizmi, un grande matematico persiano
dell’ottavo secolo) e della parola greca , che significa numero. A livello generale, possiamo
definire un algoritmo come l’astrazione di una procedura passo passo che prende qualcosa
come input e produce un certo output
Che linguaggio usare per definire un algoritmo - Non esiste un linguaggio standard per
descrivere un algoritmo in modo che possa essere immediatamente comprensibile da un
qualunque computer.
Di solito si usa uno pseudocodice, ovvero un linguaggio informale per descrivere i passi
principali di un algoritmo ad un umano, anche se non è direttamente eseguibile da un

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
computer elettronico – anche se i suoi costrutti sono strettamente connessi con quelli
tipicamente definiti nei linguaggi di programmazione.
Un esempio di pseudocodice: i diagrammi di flusso.

Tre domande chiave del pensiero computazionale


- Possiamo usare gli algoritmi per computare qualsiasi cosa vogliamo?
- Esiste un limite a quello che possiamo computare?
- È possibile definire un problema computazionale – ovvero un problema che può
essere risolto algoritmicamente da un computer – che non può essere risolto da nessun
algoritmo?
Reduction ad absurdum (dimostrazione per assurdo) : Uno degli approcci più usati per
dimostrare che qualcosa non esiste è quello di costruire una situazione in apparenza
plausibile che, poi, si rivela paradossale e auto-contraddittoria – in cui, per esempio,
l’esistenza di un algoritmo contraddice se stessa. L’argomentazione che ne sta alla base è
quella di stabilire che una situazione è contraddittoria cercando di derivare un’assurdità dalla
sua negazione, in modo da dimostrare che una tesi deve essere accettata perché la sua
negazione non può essere difesa e, alla fine, genera un paradosso.
I paradossi possono essere considerati:
- Delle storie divertenti da usare per insegnare
- Strumenti potenti che mostrano i limiti di particolari aspetti formali di una situazione
Definizione:
data una situazione che descrive un particolare problema, qualunque strada che si intraprende
per trovare la soluzione del suddetto problema porta ad una contraddizione.
Uno dei più importanti problemi studiati in informatica anni fa, che faceva parte dei 23
problemi aperti della matematica che David Hilbert propose nel 1900, è noto col nome di
problema della terminazione. Questo problema riguardava il capire se fosse possibile
sviluppare un algoritmo che fosse in grado di rispondere se un altro algoritmo, specificato
come input, terminasse la sua esecuzione o no.
Uno degli scienziati che di più a lavorato alla risoluzione di questo quesito è stato Alan Turing.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Nel 1936, Turing sviluppò la sua macchina proprio per cercare di rispondere al problema della
terminazione di Hilbert. La macchina proposta da Turing era prettamente teorica, nel senso che
non l’aveva costruita fisicamente, anche se recentemente molte persone hanno provato a
costruire prototipi fisici dell’idea di Turing.
La Bomba del 1938 e il Colossus del 1942 sono stati i principali strumenti che hanno
permesso a un gruppo di matematici, linguisti, ingegneri, rinchiuse nella base militare segreta
britannica di Bletchley Park, di decifrare le comunicazioni tedesche che erano state cifrate dalla
macchina Enigma.
Colossus è il primo computer interamente digitale, come pensato da Babbage con la sua
Macchina Analitica, è stato sviluppato negli Stati Uniti d’America soltanto qualche anno dopo,
nel 1946: l’Electronic Numerical Integrator and Computer (ENIAC).
Funzionamento macchina - La macchina, che è in grado di simulare l’esecuzione di
qualunque algoritmo realmente implementabile, è composta da un nastro di memoria infinito
composto da celle. Ogni cella può contenere un simbolo (o 0 o 1, dove 0 è usato come default
per inizializzare le celle di tutto il nastro) che può essere letto e scritto dalla testina della
macchina. Lo stato in cui la macchina si trova in un certo momento è altresì annotato. Le
operazioni che può fare la macchina in un certo stato sono definite in una tabella (finita) di
istruzioni, dove ogni istruzione dice cosa fare (scrivere un nuovo simbolo, muovere la testina a
sinistra o a destra, spostarsi in un nuovo stato) in base allo stato in cui la macchina si trova e al
simbolo presente nella cella sotto la testina. Infine, sono forniti anche uno stato iniziale e zero
o più stati finali, in modo da sapere dove iniziare e finire il processo.
La macchina di Turing e le relative analisi effettuate su di essa hanno imposto dei limiti
chiarissimi a quello che possiamo calcolare, e hanno permesso di dimostrare che determinati
problemi computazionali interessanti, come quello della terminazione, non possono
essere risolti da nessun approccio algoritmico. Tutto questo è stato possibile solo grazie
all’applicazione di un pensiero computazionale esclusivamente astratto, considerando che la
macchina di Turing è solo uno strumento prettamente teorico.
------------------------------------------------------------------------------------------------------------------------

CAPITOLO 3 – LINGUAGGI DI PROGRAMMAZIONE


Un linguaggio “naturale” è un linguaggio comune, come l’italiano, che può essere scritto o
orale, e che si è evoluto in maniera naturale all’interno di una comunità. Da come li
conosciamo, i linguaggi naturali hanno il vantaggio (e, contemporaneamente, lo svantaggio) di
essere così tanto espressivi che specifiche istruzioni comunicate attraverso il loro uso
possono sembrare ambigue.
Formalizzazione di un linguaggio - I linguaggi naturali non sono formali per definizione.
Tuttavia molti studi in linguistica cercano di fornirne una formalizzazione mediante l’uso di
strumenti matematici.
Una delle figure più importanti dietro alla formalizzazione del linguaggio naturale è Noam
Chomsky. È uno dei padri della linguistica moderna – le cui ipotesi di ricerca principali sul
linguaggio umano sono:
1. la sua struttura sintattica di base è rappresentabile mediante una teoria matematica
2. tale struttura è determinata biologicamente in tutti gli umani, è già presente in noi sin
dalla nascita.
Cosa sono i linguaggi di programmazione? Un linguaggio di programmazione è un
linguaggio formale che obbliga l’uso di specifiche regole sintattiche sviluppate in modo tale
da evitare possibili istruzioni ambigue.
I linguaggi di programmazione sono solitamente basati su grammatiche libere dal contesto
e possono distinguersi per un basso o elevato livello di astrazione dal linguaggio propriamente
in uso da un elaboratore elettronico per eseguire le operazioni.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Linguaggio macchina – Un insieme di istruzioni che possono essere eseguite direttamente
dal CPU (central processing unit, o processore) di un computer elettronico. È basato sul codice
binario – una sequenza di 0 e 1 – rivisitato da Gottfried Leibniz alla fine del diciassettesimo
secolo.
COS’E’ L’INFORMATICA?
1957 – Karl Steinbuch, utilizza il termine “Informatik” nel suo libro
1962 – Philippe Dreyfus, ingegnere francese, pubblica il libro “Informatique”
Il termine informatica è originato dalla contaminazione dei termini informazione e automatica.
È la disciplina teorica che si occupa della progettazione e della costruzione di macchine in
grado di trattare ed elaborare in modo automatico l’informazione.
L’informatica si occupa prevalentemente della manipolazione di informazioni codificate in
forma binaria.
Nei calcolatori / computer l’informazione è codificata in bit per la semplicità con la quale i suoi
simboli possono venire rappresentati da dispositivi bistabili (dispositivi fisici in grado di
assumere due configurazioni).
bit = binary digit (cifra binaria)  unità di misura della quantità di informazione
- Linguaggi di programmazione di basso livello - sono linguaggi che forniscono un
livello di astrazione sopra il linguaggio macchina, e che permettono di scrivere
programmi in modo che siano un pochino più intellegibili dagli umani. Il più famoso
linguaggio di questo tipo è l’Assembly.
- Linguaggi di programmazione ad alto livello - sono quei linguaggi caratterizzati da
un forte livello di astrazione dal linguaggio macchina. In particolare, possono usare
parole proprie del linguaggio naturale per definire costrutti specifici, così da essere di
più facile comprensione per un umano. A livello generale, più astrazione da un
linguaggio di programmazione a basso livello è fornita, più comprensibile è il linguaggio.
I PRIMI LINGUAGGI
Grace Brewster Murray Hopper è tra i più grandi pionieri dei linguaggi di programmazione.
La prima programmatrice dell’Harvard Mark I, un computer elettromeccanico general-
purpose usato durante la seconda guerra mondiale.
Hopper è una matematica, informatica e ammiraglio; una pioniera della programmazione
informatica. Nel 1943 ha lavorato sul primo computer digitale della Marina, Harvard Mark
I. Hopper era fermamente convinta della necessità di avere linguaggi di programmazione che
fossero indipendenti dalle macchine su cui erano utilizzati, che l’ha portata allo sviluppo
del COBOL (COmmon Business-Oriented Language, 1959).
È famosa anche per aver diffuso l'uso del termine "bug" per indicare un malfunzionamento di
un computer. Contribuisce allo sviluppo del metodo “open source”: inviava le proprie versioni
iniziali del compilatore ad amici e conoscenti nel settore della programmazione chiedendogli di
apportarvi modifiche e miglioramenti.
COBOL (common business-oriented language) è un linguaggio di programmazione sviluppato
per uso industriale che utilizza largamente termini propri alla lingua inglese per descrivere
istruzioni a programmi, il che rende il linguaggio più verboso ma anche più leggibile e
chiaro. Es. x > y
Linguaggi visuali - In modo da facilitare l’avvicinamento all’uso dei linguaggi di
programmazione tradizionali, negli ultimi anni sono stati sviluppati diversi linguaggi di
programmazione visuali che permettono lo sviluppo di piccoli programmi per risolvere
problemi computazionali specifici. Alcuni sono proposti sotto forma di gioco, e permettono
l’introduzione dei costrutti principali propri dei linguaggi di programmazione mediante l’utilizzo
di oggetti grafici.
Es.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
- Doodle di Google
- Blocky di Google
- Python: un linguaggio di programmazione ad alto livello general-purpose, ed è
correntemente uno dei linguaggi più usati per il Web e per attività di analisi
automatiche di dati e del linguaggio naturale. Tra i vari vantaggi, Python è uno dei
linguaggi più semplici con cui iniziare a studiare come programmare e creare
applicazioni.
------------------------------------------------------------------------------------------------------------------------

CAPITOLO 4 – CHE COSA SUCCEDE QUANDO SI CLICCA SU UN LINK: IL


WORLD WILD WEB
Cosa succede quando si clicca su un collegamento ipertestuale (o link) di una pagina
Web? Per rispondere pienamente a questa domanda, è necessario avere delle conoscenze di
base relative sia sul come l’informazione viene trasmessa digitalmente, sia sulle componenti
che compongono Internet e il Web.
IPERTESTO
Un ipertesto è un corpo di materiale scritto interconnesso in modo così tanto complesso che
non è conveniente presentare su carta [Nelson, 1965].
Seppur, al giorno d’oggi, siamo abituati ad utilizzare questo tipo di strumento, essendo il Web
di fatto un gigantesco ipertesto, una settantina di anni fa quest’idea era praticamente non
convenzionale e non realizzabile.
L’idea embrionale dell’ipertesto sembra sia stata affrontata ben prima della sua proposta
formale, essendovi diversi riferimenti già in letteratura a possibili costruzioni prettamente
ipertestuali – ad esempio, si veda il racconto “Il giardino dei sentieri che si biforcano” di
Jorge Luis Borges. Tuttavia, l’idea di una esemplificazione tecnologica si ha soltanto nel
1945, a seguito delle riflessioni contenute nel famoso articolo “As We May Think” di
Vannevar Bush.
Vannevar Bush scrive l’articolo “As We May Think”, che contiene una sequenza di visioni
tecnologiche che sono state realizzate nei decenni a venire e che tuttora influenzano lo
sviluppo di nuove tecnologie.
Scenario: crescita esponenziale delle pubblicazioni, conseguenza delle nuove scoperte
scientifiche, che necessitano di essere divulgate + meccanismi di produzione sempre più
industrializzati. Ha l’idea di un’organizzazione della conoscenza su base reticolare e
associativa invece che sequenziale: l’ipertesto.
Bush suggeriva di usare i microfilm, che erano una tecnologia di frontiera in quel periodo
Secondo lui era possibile salvare un’intera copia dell’Enciclopedia Britannica all’interno di un
supporto grosso quanto una scatola di fiammiferi.
Quando una qualsivoglia informazione viene raccolta in un dispositivo di memorizzazione,
questa informazione viene in qualche modo indicizzata alfabeticamente (si pensi, ad esempio,
ad un indice dei nomi alla fine di un manuale) o numericamente (si pensi, ad esempio,
all’indice dei capitoli e sezioni di un libro). Inoltre, un’informazione può essere contenuta
soltanto in un posto specifico, a meno che non venga in qualche modo duplicata. Per
recuperare una certa informazione a partire dagli indici a disposizione, una persona deve
seguire determinate regole in modo da identificare la posizione in cui tale informazione si trova
(si pensi, ad esempio, ai libri in una biblioteca). Questo processo si ripete nuovamente, e
sistematicamente, ogni qual volta si debba, o si voglia, cercare una nuova informazione.
Come anticipato, Bush ha definito questo meccanismo di indicizzazione prettamente artificiale
perché non è il modo in cui la mente umana solitamente opera. Infatti, partendo da una
specifica informazione, la mente si sposta istantaneamente alla successiva mediante un
processo associativo, ove un’informazione in qualche modo ne richiama un’altra,
conformemente a una complicata rete di pensieri veicolata dalle cellule che compongono il
nostro cervello. L’idea di Bush è che questa selezione di informazioni mediante meccanismi
prettamente associativi può essere meccanizzata e conseguentemente esplicitata in una
macchina. Ovviamente, seppur Bush pensasse che non fosse possibile raggiungere la stessa

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
velocità e flessibilità della mente umana (anche se le attuali ricerche sui big data sembrano
oggi suggerire il contrario), sarebbe quantomeno stato possibile battere la mente umana
relativamente alla permanenza e al recupero nel tempo delle informazioni se queste fossero
state memorizzate su dispositivi appropriati, ad esempio i microfilm.
Nel suo articolo, Bush presentava, in linea totalmente teorica, una macchina chiamata memex,
che avrebbe permesso di salvare tutti i libri, record di dati, e comunicazioni di vario genere su
dispositivi appropriati, così da accedervi in modo completamente meccanico, flessibile, e
veloce. In particolare, il memex era composto da una scrivania con due schermi al centro
per facilitare la lettura dei documenti memorizzati, accompagnati da una tastiera, un insieme
di bottoni e leve (a destra), e, sulla sinistra, una plancia su cui posizionare qualunque
documento così da essere fotografato e memorizzato nei microfilm utilizzati dalla macchina.
La caratteristica fondamentale del Memex è la possibilità di interconnettere le
informazioni, tramite collegamenti automatici ed immediati, i quali non svaniscono, ma
rimangono anche a distanza di tempo, pronti per essere di nuovo consultati.
1965 – Theodor Nelson conia il termine ipertesto: “un corpus di materiali che contiene al
proprio interno collegamenti ad altri documenti o sezioni. Le informazioni sono organizzate non
in modo sequenziale, ma reticolare.
Ted Nelson aveva iniziato a lavorare ad un nuovo progetto, chiamato Xanadu (1960).
Obiettivo: creare una rete di computer che potesse essere depositaria dell’intera conoscenza
umana e che potesse essere estesa mediante dei collegamenti ipertestuali bidirezionali che
permettessero di collegare tra loro idee contenute in diversi documenti – idea molto simile ai
percorsi associativi introdotti da Vannevar Bush.
Altre tecnologie:
- 23 dicembre1947 - Walter Brattain e John Bardeen, realizzano il primo prototipo
funzionante del transistor.
18 ottobre 1954 – la Texas Instruments mette sul mercato al costo di $ 49,95 la
Regency TR 1: prima radio a transistor. Diventa oggetto del desiderio per i
consumatori e "ossessione" per gli adolescenti (simile a quanto è accaduto nel 2001 con
il primo iPod). È il primo esempio di come la tecnologia renda i dispositivi "personali".
La radio non è più un elettrodomestico da condividere in soggiorno, diventa un
dispositivo con il quale ognuno può ascoltare la musica che preferisce.
- 1954 – Thomas Watson Jr., capo della IBM, compra un centinaio di Regency e le
regala agli alti dirigenti della IBM, dicendo loro di trovare il modo di utilizzare i transistor
nei computer.
Aprile 1955 – IBM 608 è il primo computer con transistor.
Seconda metà degli anni ’50 - i transistor sostituiscono le valvole termoioniche nei
computer.
- Microchip:
1958/1959 - Jack St. Clair Kilby e Robert Norton Noyce producono, quasi
contemporaneamente, i primi modelli funzionanti di microchip (Kilby utilizza il germanio,
Noyce utilizza il silicio).
1968 - Federico Faggin realizza il primo microprocessore Intel 4004:
implementazione fisica di una CPU su un singolo circuito integrato.
NLS
Nel frattempo, sempre in America, Douglas Engelbart aveva iniziato l’implementazione di un
sistema rivoluzionario che di fatto permetteva per la prima volta la creazione di ipertesti su
un computer – tra le tante cose. Questo sistema, chiamato oN-Line System (NLS), fu
mostrato in una sessione dimostrativa nella Fall Joint Computer Conference del 1968,
suscitando commenti entusiastici da parte di tutta la comunità, tanto da aver poi etichettato
quella sessione come la madre di tutti i demo.
Per “seguire” i link interni di un documento non sono sufficienti le schede perforate, le
telescriventi e i costosi terminali video a linea di testo. Engelbart risolve il problema con
un’idea geniale: inventa un piccolo strumento per puntare sullo schermo. È nel corso di
quella (famosa) dimostrazione nel 1968 che fa la sua comparsa, per la prima volta, il mouse.
20 ANNI DOPO – L’INVENZIONE DEL WORLD WIDE WEB

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Tim Berners-Lee, un giovane scienziato del CERN di Ginevra, propone (1989) un progetto
chiamato World Wide Web. Inizialmente respinto da parte dei suoi superiori con il famoso
commento “vago, ma eccitante”. Venne accettato come progetto collaterale per testare le
potenzialità di un nuovo computer (il NeXT) che era stato appena comprato dal CERN.
Il computer NEXT di Barners-Lee è utilizzato come server web.
Cos’era il WEB nella testa del suo creatore: Un ipertesto che potesse descrivere una
varietà di risorse eterogenee (documenti, persone, concetti astratti, …) collegabili tra loro
mediante l’uso di collegamenti ipertestuali etichettati, in modo da poter specificare la
semantica del collegamento come parte esplicita del link.
Semplificazione rispetto a Nelson: collegamenti ipertestuali del Web dovevano essere
percorribili in un’unica direzione.
30 aprile 1993 - il CERN rende pubblica la tecnologia alla base del World Wide Web,
rinunciando ad ogni diritto d’autore o proprietà intellettuale.
A tale decisione fa seguito un immediato e ampio successo del World Wide Web in virtù della
possibilità offerta a chiunque di diventare editore, della sua efficienza e, non ultima, della sua
semplicità.
Con il successo del World Wide Web ha inizio la crescita esponenziale e inarrestabile del World
Wide Web ancora oggi in atto, nonché la cosiddetta "era del Web".
URL
Il computer non mostra tutto quello che conosce sui link ipertestuali presenti in quella pagina.
Dentro quel frammento di testo sottolineato e solitamente colorato in blu (o in viola, nel caso
sia stato già visitato) che può essere cliccato, c’è nascosto un oggetto invisibile che inizia
per “http://” (o, a volte, “https://”). Quell’oggetto è un Uniform Resource Locator, o URL,
rappresenta una sorta di nome (o più propriamente, un indirizzo) della pagina web a cui il link
punta e permette di accedere cliccandoci sopra.
BROWSER
Il browser web sviluppato, al CERN di Ginevra da Berners-Lee e Cailliau ha un’interfaccia
con modalità a linea (line-mode).
È un’applicazione software che permette di accedere e ottenere le informazioni presenti nel
Web, così da poterlo “navigare” – esempi: Internet Explorer, Firefox, Microsoft Edge, Safari,
Google Chrome. Il primo browser sviluppato da Tim Berners-Lee si chiamava
WorldWideWeb.
Il browser permette di specificare un URL della risorsa a cui siamo interessati in un apposito
campo della sua interfaccia, solitamente in alto. A seconda del tipo di risorsa, permette di
visualizzarla all’interno della finestra browser (ad esempio nel caso di una pagina web) o di
salvarla in uno specifico documento nel proprio computer (ad esempio nel caso di un
documento PDF).
PLUG IN
Il Plug-in è un software del browser in grado di arricchirne e “potenziare” le capacità del
browser di gestire documenti in formati speciali. Un plug-in, anche se prodotto da un’azienda
diversa rispetto a quella che ha prodotto il browser, è una parte integrante del browser. I plug-
in sono programmi disponibili in Rete, solitamente viene chiesta la loro installazione o vengono
anche caricati automaticamente dal browser, per aprire risorse in formati particolari. Tutti i
browser forniscono la possibilità di controllare i plug-in installati e, se vuoi di disattivarli.
Alcuni plug-in:
- Acrobat Reader plug-in per documenti in formato pdf
- Adobe Flash Player (detto anche Shockwave flash, o Macromedia flash) per le
animazioni in formato Flash (tipicamente, con estensione .swf o .flv) è stato dismesso
da Adobe il 31 dicembre 2020.
ESTENSIONI
Le estensioni consentono di aggiungere nuove funzioni al browser, ovvero di estenderne le
funzionalità. Puoi personalizzare il browser con le funzioni che ritieni più importanti e utili.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Cosa comunica il browser al server? Il browser che hai nel tuo dispositivo conosce molto di
te, ad esempio: nome-utente e relativa password, siti preferiti, storia (o cronologia) dei siti che
hai visitato Inoltre, essendo un’applicazione che "gira" sul tuo dispositivo, in linea di principio
ha accesso ai tuoi dati, e-mail, file, ecc. Importante: a meno che l’azione non sia richiesta da
te, il browser non comunica i dati relativi a nome-utente e password, né alcunché
relativo ai file presenti sul tuo dispositivo.
I server qualche volta possono catturare alcune informazioni senza che noi ne siamo a
conoscenza. Un documento HTML può contenere programmi (applet o javascript) che vengono
trasmessi dal server ed eseguiti sul browser.
I browser sono costruiti in modo da eseguire gli applet e i javascript all’interno di una capsula
di sicurezza che impedisce loro di accedere alle risorse dell’utente.
Talvolta ci sono delle “falle” nella sicurezza del browser che possono essere sfruttate da
script (applet e javascript) “malevoli” per accedere alle risorse del tuo dispositivo (comunque
casi sporadici).
COOKIES
Usando il protocollo HTTP non c’è modo per un server di riconoscere che uno stesso utente sta
chiedendo alcuni servizi (il server HTTP vede solo l’indirizzo IP del client). Quindi, ogni volta che
chiedi una nuova pagina, è come se fossi un nuovo utente.
Tutti quei servizi che hanno bisogno di un’autenticazione iniziale e che forniscono servizi
specifici come le caselle postali sul Web (hotmail.com o mail.yahoo.it, ecc.), i servizi di notizie, i
negozi on- line, ecc. usano i cookies.
Un cookie è un piccolo file che il server chiede al browser di memorizzare sul tuo hard disk.
Spesso questo file contiene un numero, diverso per ogni utente che si collega col server.
Ogni volta che il browser si collega di nuovo col server, trasmette anche il cookie, così il server
sa che sei tu o che si tratta di quell’utente che prima aveva richiesto determinate risorse.
Nel cookie possono essere memorizzate solo informazioni in possesso del server. Ad esempio
se al server hai comunicato informazioni personali come il tuo nome e cognome, indirizzo di
posta elettronica, ecc. queste informazioni possono venire associate al cookie.
Possono essere:
- Temporanei: creati nel momento in cui inizia una sessione con un server e vengono
cancellati al termine della sessione stessa. Sono usati per riconoscere lo stesso utente
via via che naviga fra le pagine del sito.
- Permanenti: creati al primo collegamento con un server e rimangono sul nostro hard
disk anche dopo la chiusura della sessione.
I browser permettono di disattivare la ricezione di cookie. MA la disattivazione completa
spesso non consente l’accesso a siti che usino in modo essenziale i cookies per il controllo degli
account ed erogare servizi.
------------------------------------------------------------------------------------------------------------------------

CAPITOLO 5 – COSA SUCCEDE QUANDO SI CLICCA SU UN LINK: I


PROTOCOLLI DI COMUNICAZIONE
PROTOCOLLO DI COMUNICAZIONE - Un insieme di regole che due entità, parte di un
sistema di comunicazione, devono seguire per scambiarsi informazioni.
A cosa serve?
- Una sintassi da seguire per costruire i messaggi
- Delle regole interpretative del messaggio così da definire la semantica dei messaggi
- Dei meccanismi per sincronizzare la comunicazione
- Dei meccanismi per correggere e/o gestire eventuali errori che possono intercorrere
nello scambio dei messaggi
Dove li usiamo? Nella vita di tutti i giorni quando vogliamo, per esempio, comunicare con
qualcuno.
PROTOCOLLO HTTP - L’Hypertext Transfer Protocol (HTTP) è un protocollo di
comunicazione inizialmente sviluppato da Tim Berners-Lee per facilitare l’implementazione

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
del Web. Basato su metodi di comunicazione di richiesta-risposta. Esteso negli anni
successivi – ad esempio con il protocollo HTTPS: un’estensione di HTTP che implementa un
protocollo di comunicazione più sicuro sul Web, utile quando è necessario trasmettere dati di
autenticazione come nomi utenti e password.
- HTTP (HyperText Transfer Protocol) è il protocollo mediante il quale avviene la
comunicazione tra un browser e un web server per la fornitura di una risorsa (pagina
Web, video, audio, ecc.).
- HTTP/2 (HyperText Transfer Protocol 2 originariamente chiamato HTTP/2.0) è la nuova
versione del protocollo di rete HTTP usato dal World Wide Web.
Aumenta la velocità tra client e server. L’introduzione di HTTP/2 non richiede di
apportare alcuna modifica alle applicazioni e siti web esistenti, ma le nuove
applicazioni e siti web possono trarre vantaggio dalla maggiore velocità. Infatti HTTP/
2 aumenta la velocità tra client e server, specialmente nell’uso di connessioni multiple per
caricare risorse in parallelo (la richiesta tra client e server di un HTTP procede in ordine,
aumentando i tempi di risposta davanti a oggetti complessi, o molto grandi). Con HTTP/2 i flussi
sono strutturati per portare una o più richieste, e soprattutto sono indipendenti l’uno dall’altro,
quindi non si genera la coda.
Riassumendo, HTTP è un protocollo:
- di comunicazione che permette il trasferimento di documenti ipertestuali
- col quale un browser si rivolge ad un server Web per reperire risorse (informazioni) sul WWW
(World Wide Web).
PROTOCOLLO HTTPS
HTTP + SSL (Secure Socket Layer) =
HTTPS (HyperText Transfer Protocol over Secure Socket Layer) Il protocollo HTTPS ((HyperText
Transfer Protocol Secure) è la versione sicura di HTTP, col quale reperire risorse (informazioni)
sul WWW (World Wide Web) in modo sicuro.
SSL (Secure Sockets Layer) è un protocollo che fornisce un meccanismo per spedire su
Internet informazioni in modo sicuro. SSL utilizza tecniche crittografiche. E’ un protocollo che
permettere a due host di rete di comunicare in modo sicuro. Per utilizzare il protocollo SSL
occorre utilizzare un browser che supporti SSL.
HTTPS è il risultato dell'applicazione di un protocollo di crittografia asimmetrica al
protocollo di trasferimento di ipertesti HTTP. Viene utilizzato per garantire trasferimenti
riservati di dati nel Web, in modo da impedire intercettazioni dei contenuti.
In pratica viene creato un canale di comunicazione criptato tra il client e il server
attraverso uno scambio di certificati; una volta stabilito questo canale al suo interno viene
utilizzato il protocollo HTTP per la comunicazione. Questo tipo di comunicazione garantisce che
solamente il client e il server siano in grado di conoscere il contenuto della
comunicazione.
METODI HTTP
Il metodo più usato nel Web è GET, che permette di richiedere informazioni sulla risorsa
definita dall’URL specificato – per esempio come conseguenza di un click su un collegamento
ipertestuale.
PUT permette di creare sul server web contattato la risorsa specificata dall’URL utilizzato nella
richiesta, e di associarvi informazioni incluse nella richiesta.
DELETE permette di rimuovere dal server web contattato tutte le informazioni relative alla
risorsa specificata nella richiesta tramite l’URL.
POST permette di specificare informazioni aggiuntive, incluse nella richiesta, ad una
risorsa esistente che già risiede sul server.
CLASSIFICAZIONE METODI HTTP

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Safe: viene usato solo per recuperare delle informazioni dal server web, senza cambiarne lo
stato, ad esempio aggiungendo nuovi dati (ad esempio GET).
Idempotente: molteplici richieste effettuate allo stesso URL hanno lo stesso effetto, sul
server web, che effettuare una sola richiesta (ad esempio GET e PUT).
GET è preponderante nel Web, visto che viene usato per richiedere una qualsiasi risorsa, gli
altri metodi non sempre sono liberamente utilizzabili da tutti i client – sta sempre al server
decidere quali di questi metodi possano essere usati nella comunicazione.
SERVER WEB - È un computer “speciale” che esegue un software specifico che permette di
ricevere, gestire, e soddisfare richieste HTTP provenienti da un client, ad esempio un browser.
Una volta che il server web riceve una richiesta fatta come indicato in precedenza, cerca
localmente informazioni del documento indicate nel percorso della richiesta. Se trova la
risorsa, ne fa una copia che viene impacchettata nel payload in un nuovo messaggio HTTP di
risposta e la invia al mittente originale, specificando “200 OK” come stato. Se non trova la
risorsa, associa il codice di errore relativo nello stato e, opzionalmente, potrebbe anche
specificare nel payload un qualche messaggio per specificare meglio l’errore o, in generale, la
situazione occorsa.
Seppur noi, utilizzatori di client come i browser, cerchiamo di accedere ad una risorsa a
disposizione in un certo server web usando il nome di quest’ultimo (ad esempio
it.wikipedia.org), in realtà il server web non è direttamente raggiungibile usando il suo nome
ma attraverso un indirizzo specifico. Un qualunque server web è identificato in modo univoco
da una sequenza di quattro numeri separati da punti, ad esempio 130.136.130.1, ove ogni
numero può essere un valore che va da 0 a 255. Questo numero si chiama indirizzo IP,
dove “IP” è l’acronimo di “Internet Protocol”.
-----------------------------------------------------------------------------------------------------------------------------------------------
CAPITOLO 6 – COSA SUCCEDE QUANDO SI CLICCA UN LINK: INTERNET
Web ≠ Internet  internet non è sinonimo di web
Il Web è uno dei più famosi servizi di Internet, perché si basa interamente sulle tecnologie
messe a disposizione da Internet.
La parola internet in realtà è una contrazione di interconnected network (rete
interconnessa), ovvero una rete composta da tante altre reti più piccole di dispositivi in
qualche modo interconnessi tra loro mediante l’uso di specifici protocolli di comunicazione. È
un’infrastruttura generale che permette la creazione di nuove applicazioni.
Le origini di Internet
Motivazione (guerra fredda USA vs. Russia): provvedere ad una creazione di una rete di
comunicazione che fosse abbastanza robusta da continuare a garantire la
comunicazione tra tutti gli stati anche in seguito ad un attacco missilistico molto
rilevante da parte della Russia.
Advanced Research Projects Agency (ARPA) fondata nel 1958 per la ricerca e lo sviluppo di
tecnologie emergenti con forte applicabilità a livello militare.
The Computer as Communication Device
Negli anni ‘60 ad ARPA o meglio all’IPTO (Information Processing Techniques Office) lavorano,
con incarichi direttivi, Licklider e Robert Taylor.
1968 – Licklider e Taylor pubblicano l’articolo The Computer as Communication Device
dove danno una chiara e lucida anticipazione di quello che attualmente chiamiamo social
network, reti sociali, comunità virtuali, persone intente a collaborare “face to face
through a computer”. L’idea è quella di un dispositivo utile all’interazione e non solo al
trasferimento di informazioni.
Licklider conia l’espressione "Reti intergalattiche" “Intergalactic Computer Network” (rete
informatica intergalattica).

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Taylor, direttore dell’IPTO nel 1966, focalizza l’attenzione su tre problemi:
1. Le università e i centri di ricerca che hanno un contratto con l’ARPA vogliono i computer più
aggiornati e potenti, questo è dispendioso. Sarebbe stato più utile, ad esempio, un computer
per la ricerca dati a Stanford e uno per l’elaborazione grafica a Salt Lake City, ma se un
ricercatore avesse avuto la necessità di utilizzare entrambe le funzionalità non avrebbe dovuto
spostarsi con l’aereo da un centro all’altro o chiedere l’acquisto di un altro computer.
2. I ricercatori dei vari centri di ricerca hanno necessità di conoscenza, scambio di informazioni
e condivisione delle attività e dei risultati delle ricerche quasi in “tempo reale”.
3. Se, dal suo ufficio all’IPTO, vuole comunicare con il MIT o con Berkeley ha necessità di
“spostarsi” di sedia e accendere diversi terminali.
Per cui Taylor, sfruttando l’intuizione di Licklider sulle “reti intergalattiche”, immagina di poter
connettere diversi centri e laboratori fra loro attraverso una rete che parlasse una
lingua comune a tutti con la quale tutti potessero interagire con le macchine degli altri e fra
loro. Si reca al Pentagono per proporre il progetto a Hertzfeld (direttore dell’ARPA). Hertzfeld è
entusiasta, anche lui lo stava studiando: stanzia il milione di dollari necessario.
ARPANET
L’Advanced Research Projects Agency Network (ARPANET) è stato il precursore di
Internet.
1958 - ARPA viene creata dal Governo USA con l’obiettivo di studiare e sviluppare tecnologie
innovative e all’avanguardia rispetto a quelle che potevano sviluppare i sovietici. {Siamo in
piena Guerra fredda e i sovietici hanno da poco (4 ottobre 1957) lanciato lo Sputnik1}. Fra gli
incarichi dell‘ARPA c‘è quello di trovare una soluzione alle problematiche legate alla sicurezza e
disponibilità di una rete di telecomunicazioni. {il 23 marzo 1972 ARPA fu rinominata DARPA
(Defense Advanced Research Projects Agency), indicando che il suo scopo era la difesa
militare; il 22 febbraio 1993 tornò ARPA, e ancora DARPA l'11 marzo 1996}.
La rete venne ufficialmente e pubblicamente mostrata nel 1972 durante la prima International
Computer Communication Conference a Washington – una delle prime applicazioni è
l’electronic mail, o e-mail.
Nuove reti: Computer Science Network (CSNET), National Science Foundation Network
(NSFNET), NASA Science Network (NSN).
La nascita di Internet avviene alla fine degli anni ottanta, quando ARPANET e NSFNET
vengono intercollegate tra loro.
- Commutazione di circuito - Viene stabilito un circuito virtuale unico di
comunicazione tra mittente e destinatario, ovvero una sequenza finita e sequenziale di
nodi riservati che permette la sola comunicazione dal mittente al destinatario.
Viene usata tutta la banda a disposizione, che occupa in modo esclusivo i suddetti
nodi fino al termine della comunicazione. La comunicazione resta aperta, quindi il
circuito rimane “occupato”, anche durante lunghe pause, finché la conversazione non
viene chiusa.
- Commutazione di pacchetto - Pacchetto: unità atomica in informazione, formata
solitamente da l’header e il payload. Dimensione massima in termini di informazione
che possono contenere: un messaggio viene spezzato in diversi pacchetti, trasmessi
sulla rete senza occupare l’intera banda, e instradati dal mittente al destinatario
seguendo, potenzialmente, percorsi diversi. Vantaggio: tolleranza ai guasti.
1965 – prima connessione, mediante commutazione di circuito, tra le due coste degli Stati
Uniti.
1969 – primo messaggio e comunicazione a commutazione di pacchetto sulla rete nascente
ARPANET tra due università distanti 600 km. A cui se ne aggiungeranno altre due un mese
dopo. Da allora la rete è in funzioni e i suoi nodi e i suoi servizi iniziano a crescere e
moltiplicarsi.
Fine 1971 – ARPANET conta 15 nodi; un anno dopo 37 nodi

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Problema: il protocollo di comunicazione NCP (Network Control Protocol), usato su ARPANET,
demandava alla rete tutta la responsabilità della consegna dei pacchetti. Se un pacchetto non
arriva, la rete si blocca.
I PROTOCOLLI
ARPANET, successivamente Internet e il World Wide Web, si basano su protocolli. In
informatica un protocollo è un insieme di regole e formati condivisi tra due o più entità – siano
essi programmi (software) e/o prodotti fisici (hardware) – formalmente descritti, utili a
garantire una corretta comunicazione. Esistono varie tipologie di protocolli ciascuno con
precisi compiti e finalità, a seconda delle entità interessate e del mezzo di comunicazione
utilizzato. Ad esempio un protocollo di comunicazione è un insieme di regole che
definiscono il formato e l’ordine dei messaggi spediti tra due parti.
TCP/IP
1973 - Robert Kahn (ARPA) e Vinton Cerf (Stanford University) mettono per iscritto la
struttura di Internet. Nello stesso anno progettano il TPC (Transmission (o Transfer)
Control Protocol, in italiano protocollo di controllo trasmissione). Uno standard indispensabile
per la comunicazione fra reti di computer.
1978 - Cerf, Postel e Crocker aggiungono un ulteriore protocollo IP (Internet Protocol) fra
rete e rete, mettendo a punto il definitivo protocollo TCP/IP sul quale ancor oggi opera
Internet.
Grazie all’accoppiata TCP/IP:
- Ogni rete interconnessa continua a funzionare e esistere per proprio conto
- La comunicazione avviene sulla base del principio best effort (“miglior sforzo”)
- La connessione alla rete è assicurata da router
- Non avviene nessun controllo globale della rete a livello della sua operatività
POSTA ELETTRONICA
1971 – Ray Tomlinson scrive la prima applicazione per lo scambio di posta elettronica.
Utilizza (non inventa) il simbolo @ (at) che significa “presso”, che separa il nome del
destinatario/mittente dal nome dell’host (computer-server).
Nasce per far scambiare velocemente messaggi tra i ricercatori di ARPANET.
12 aprile 1979 - Kevin MacKenzie suggerisce di inserire un simbolo nelle mail per indicare gli
stati d'animo: emoticon
La X per indicare il bacio alla fine di una mail, di un sms, ecc. Una novità dei social? No. La
prima apparizione della “x” in questo senso risale al 1763, la usò il naturalista Gilbert White.
Più di recente (ma non tanto) appare in una lettera del 1948 di Winston Churchill. Nel medioevo
le lettere erano quasi sempre chiuse con una “x”. È il segno della croce, e anche la prima
lettera della parola “Cristo” in greco. Ogni lettera veniva sigillata, con ogni probabilità, con un
bacio. Avveniva così anche per le firme di chi non sapeva scrivere. Segnavano con una “x”, e
poi la baciavano, come forma di certificazione. È un uso che, a quanto sembra, è rimasto,
sottotraccia, nella storia…
Una "galassia di reti"
- Metà anni ’80 - NSFNET (rete finanziata dalla National Science Foundation per
supportare tutte le discipline accademiche):
o Utilizza come protocollo TCP/IP
o Fornisce dorsali di connessione (backbones) fra i nodi principali delle reti
o Grazie ad un accordo con gli enti finanziatori di ARPANET viene permesso a
NSFNET di usare le infrastrutture ARPANET, con un costo a forfait e non a
consumo.
- 1984 - l'Europa inizia l'aggiornamento della sua rete passando al protocollo TCP/IP. Il
processo si conclude solo alla fine del decennio. Cisco Systems, all'epoca una piccola
impresa specializzata nella costruzione di router, viene incaricata dal CERN (Conseil

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Européen pour la Recherche Nucléaire) di Ginevra, di sviluppare la parte europea di
Internet attraverso il passaggio dalla rete UUCP esistente verso il nuovo protocollo.
- 1989 - il CERN apre la sua prima connessione TCP/IP esterna.
Da ARPANET a Internet
- 1980: TCP/IP viene ufficializzato sulla parte militare di ARPANET e sostituisce
definitivamente il NCP (Network Control Protocol).
- 1 gennaio 1983 - TCP/IP viene ufficializzato sulla parte pubblica di ARPANET, è, da un
punto di vista tecnico, il giorno della nascita di Internet come oggi lo conosciamo,
seppur a quel tempo legato a scopi di ricerca.
La scelta della NFS
1991 - la NSF (National Science Foundation) vieta l’uso delle sue dorsali (NSFNET) per
scopi commerciali, ovvero per tutto quello che non riguarda attività di ricerca e formazione.
Incoraggia il traffico commerciale a livello locale e vieta il trasporto di quegli stessi pacchetti
sulla lunga distanza. Stimola, così, la nascita e la crescita di aziende private che hanno lo scopo
di fornire la connettività di lunga distanza a fini commerciali.
Nascono le prime reti private interconnesse a Internet e gli ISP (Internet Service Provider).
ISP (Internet Service Provider, in italiano Fornitore di Servizi Internet): è un’organizzazione
o una struttura commerciale che offre agli utenti (residenziali o imprese), con la stipula di un
contratto di fornitura, servizi inerenti ad Internet, ad esempio: l’accesso a Internet, la posta
elettronica, hosting di siti, ecc.
Dorsale (backbone): è un collegamento ad alta velocità e capacità tra due server di
smistamento informazioni. In una rete locale strutturata, la dorsale è una linea logica che può
essere fisicamente singola o multipla con la quale vengono interconnessi ad un livello superiore
(facendoli confluire) tronchi di rete con velocità e capacità inferiore.
L’intervento di Al Core
La spinta definitiva del processo di espansione e popolarità della rete come la conosciamo oggi
venne data dal Governo degli Stati Uniti d’America, in particolare dall’allora senatore Al Gore.

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.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
 Strato di accesso alla rete – è lo strato che definisce come i vari messaggi/pacchetti
devono essere instradati all’interno di una specifica rete locale, ove il protocollo usato
dipende fortemente dalla tipologia di rete in considerazione.

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.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Quando un router riceve un pacchetto IP, controlla qual è il prossimo nodo a cui il pacchetto
deve essere trasmesso in modo da avvicinarlo al destinatario e, una volta identificato l’indirizzo
IP del prossimo nodo, questa informazione viene incapsulata in un nuovo pacchetto dello strato
di accesso alla rete, così che venga recapitato al nodo identificato.
Un router non entra mai nel merito del payload del pacchetto IP e non ne tiene traccia.
LAN e WLAN
LAN (Local Area Network, in italiano rete in area locale) / WLAN (Wireless Local Area
Network, sfrutta la tecnologia wireless): è una rete informatica di collegamento tra più
computer, estendibile anche a dispositivi periferici condivisi, che copre un'area limitata,
come un'abitazione, una scuola, un'azienda o un complesso di edifici adiacenti.
Le tecnologie più utilizzate per realizzare una LAN e una WLAN sono rispettivamente Ethernet
e il Wi-Fi.
Intranet - Una rete locale (LAN), o un raggruppamento di reti locali, usata all'interno di una
organizzazione per facilitare la comunicazione e l'accesso all'informazione, che può
essere ad accesso ristretto, limitato o riservato per gli utenti.
WAN
WAN (Wide Area Network, in italiano rete di comunicazione geografica): è una tipologia di rete
di computer che si contraddistingue per avere un'estensione territoriale pari a una o più regioni
geografiche.
È una rete di trasporto che può connettere fra loro più reti locali e/o metropolitane
(Metropolitan Area Network) collegate fra loro da backbones (dorsali). Molte WAN sono
costruite per una particolare organizzazione e sono private. Ad es. la rete GARR è la rete
dedicata alla comunità italiana dell’Università e della Ricerca.
------------------------------------------------------------------------------------------------------------------------

CAPITOLO 7 – COSA SUCCEDE QUANDO SI CLICCA UN LINK:


TRASFERIRE INFORMAZIONI SU INTERNET
Dimensione massima dei pacchetti - Un particolare messaggio deve essere spezzato in
uno o più pacchetti IP prima che questi vengano instradati in rete.
Vanno considerati due limiti:
1. Il limite dato dalla massima quantità di dati che ogni pacchetto IP può trasportare (che
dipende dalla versione considerata del protocollo, IPv4 o IPv6)
2. Il limite imposto dalla rete a cui si instradano i pacchetti, ovvero il suo Maximum
Transmission Unit (MTU)
Byte: unità minima di informazione occupabile su un computer, che storicamente corrisponde
al numero di bit necessari.
Bit (contrazione di binary digit): l'unità minima di informazione che si può scambiare in una
comunicazione e può assumere solo uno di due valori: 0 o 1.
1 byte = 8 bit
Il concetto di bit è stato usato da diversi studiosi del passato (ad esempio Babbage con le
schede perforate), ma introdotto come termine formalmente da Claude Shannon (1948).
Teoria dell’informazione – Nell’articolo che introduce il bit Shannon in realtà mette le basi
di uno specifico campo di ricerca e studio chiamato teoria dell’informazione. Si occupa di
studiare come quantificare, memorizzare, e scambiare informazione, che ha tuttora svariate
applicazioni pratiche, oltre che aver caratterizzato e veicolato l’invenzione di diverse tecnologie
del passato, incluso lo sviluppo di Internet.
Ogni carattere, numero, programma, applicazione all'interno di un computer, così come un
qualunque messaggio da scambiare in Internet, è codificato come una sequenza di bit che, in

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
qualche modo, vengono poi decodificati con la sequenza di caratteri corretta dalla particolare
applicazione che riceve ed interpreta quell'informazione.
Per esempio, nella codifica binaria tradizionale dei numeri interi, il numero 0 è rappresentato
dalla sequenza "0", il numero 1 da "1", il numero 2 da "10", il numero 3 da "11", il numero 4 da
"100", e così via.
Gli indirizzi IP (v4) - Sono definiti mediante l'uso di 4 byte, uno per ogni numero. Ogni byte,
ovvero 8 bit, permette di definire un numero intero da 0 a 255. Codifica / decodifica binaria:
ognuno degli otto bit di un numero facente parte dell’indirizzo IP ha assegnato uno specifico
valore – il valore 1 è associato al bit più a destra, mentre a quello successivo verso sinistra è
assegnato un valore doppio rispetto al precedente (in questo caso 2), e così via.
I pacchetti trasmessi – Un qualunque messaggio e/o pacchetto spedito attraverso Internet è di
fatto codificato usando una sequenza di bit. Una parte di questi bit corrispondono a
informazioni relative all’header del pacchetto, mentre altre sono relative al payload.
Normalmente la dimensione massima dell’header e del payload è fissata a priori.
TCP – Il Transmission Control Protocol (TCP) proposto da Vinton Cerf e Robert Kahn nel 1974,
permette la consegna affidabile, ordinata, e esente da errori di un flusso di byte tra due
computer in comunicazione tra loro attraverso una rete basata sul protocollo IP, e gestisce tutti
quei processi che garantiscono la ritrasmissione di un pacchetto nel caso in cui non sia stato
recapitato al destinatario entro un certo tempo limite.
L’header di un pacchetto TCP contiene informazioni relative alla comunicazione a livello
trasporto tra i due computer mittente e destinatario (le porte usate per la comunicazione e un
numero di sequenza che indica l’ordine dei vari pacchetti TCP), mentre il payload contiene
le informazioni che devono essere scambiate tra i partecipanti alla comunicazione.
Comunicazione connessa - Il mittente e il destinatario si mettono d'accordo di iniziare una
comunicazione in modo esplicito prima di scambiarsi i dati, e dichiarano altrettanto
esplicitamente quando questa comunicazione si può ritenere conclusa.
Il processo di inizio (o apertura) della comunicazione, è regolato dal meccanismo del three-
way handshake (è un metodo utilizzato in una rete TCP/IP per creare una connessione tra un
host/client locale e un server). Si tratta di un metodo in tre fasi che richiede sia al client che al
server di scambiare i pacchetti: Un client invia un pacchetto dati SYN (dall’inglese
synchronize = “sincronizzare” ) su una rete IP a un server sulla stessa rete o a una rete
esterna.
L’obiettivo di questo pacchetto è di chiedere se il server è disponibile per nuove connessioni.

• 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

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
di Internet per permettere lo scaricamento di una grossa mole di dati, mentre è poco
adatto per scaricare documenti molti piccoli, come pagine web.
E-MAIL
L’e-mail (o posta elettronica) è un servizio di Internet (di tipo client – server) che
consente lo scambio di messaggi tra due o più utenti. La comunicazione tramite posta
elettronica è asincrona: non è necessario che il destinatario del messaggio di posta elettronica
sia collegato a Internet nel momento in cui il mittente gli invia un messaggio. Ogni messaggio
ha un mittente e uno o più destinatari.
Che cosa è necessario per spedire o ricevere una E-mail? È necessario un indirizzo e-
mail (e-mail address). L’indirizzo e-mail ti viene assegnato dal tuo fornitore di connettività (ISP)
oppure da un altro fornitore di servizi (ad esempio Hotmail, Google, Yahoo!, Virgilio, Amazon,
ecc.).
La @ (at che significa “presso”) separa il nome del destinatario/mittente dal nome
dell’host (computer-server) al quale accedi per utilizzarne i servizi. La parte di indirizzo alla
sinistra del simbolo @
identifica l’utente in maniera
univoca all’interno del mail
server che ospita la sua
mailbox. La parte di indirizzo
a destra del simbolo @
identifica in maniera univoca
il mail server presso il quale
l’utente è ospitato.

-----------------------------------------------------------------------------------------------------------------------------------------------
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.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Capacità di conservare (ritrasmettere) quanto il codificatore aveva ritenuto di rilevanza (ad
esempio: “punto e a capo”, lettera maiuscola, spazi bianchi fra le parole, corsivi, grassetti,
segni diacritici, titoli, paragrafi, ecc.)
I linguaggi di codifica permettono:
- Rappresentazione del documento
- Il controllo di uno o più livelli della struttura del documento

- 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

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
versioni specifiche di questi, mentre le indicazioni per gestire gli errori di sintassi erano molto
generiche e per nulla chiare.
XHTML
Il W3C decide di iniziare a lavorare ad una nuova versione di HTML basata interamente sulla
sintassi XML, chiamata XHTML, pubblicata ufficialmente nel 2000. Migliora l'interoperabilità
con altri linguaggi basati su XML della stessa famiglia (SVG e MathML su tutti), ma sacrificando
la piena compatibilità con HTML. Nel giugno del 2004 il W3C decide di non mantenere
retrocompatibilità con HTML, scatenando l’ira dei vendors dei browsers, che formano il Web
Hypertext Application Technology Working Group (WHATWG) per proseguire il lavoro di
miglioramento di HTML al di fuori del W3C.
HTML 5
Nel 2006, Tim Berners-Lee annuncia la creazione di un nuovo gruppo di ricerca nel W3C
orientato ad HTML e a quello che sta facendo il WHATWG. Da quel momento in avanti il W3C e
il WHATWG collaborano fino al 2011, ma continuano ad avere obiettivi inconciliabili.
- Il W3C vuole cristallizzare e pubblicare la specifica della nuova versione di HTML5
(quella in uso correntemente nel Web) in un documento ufficiale e definitivo
- Il WHATWG non vuole la pubblicazione di una specifica versione ma piuttosto un living
standard in evoluzione continua
Pubblicano entrambe.

Struttura dei documenti HTML


Il primo elemento con il quale inizia un documento HTML non è un elemento HTML, ma è la
Document Type Declaration: la dichiarazione che indica al browser che il documento in
questione utilizza le regole di marcatura di HTML5. Il primo elemento, la radice dell’albero, di
un documento HTML è html, che contiene tutti gli altri elementi che descrivono la pagina HTML
e può definire molti attributo, tra cui l’attributo lang per definire la lingua principale dei
contenuti. L’elemento html contiene direttamente due elementi per distinguere due sezioni
importanti della struttura base di un documento HTML: head e body.

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)
Paragrafi  elemento p
Enfasi  em (emphasized) per il corsivo
 strong (strongly emphasized) per il grassetto
Citazioni  cite, il titolo di un lavoro citato
 q, citazione in linea
 blockquote, citazione come blocco a se stante
Liste e tabelle
In HTML esistono due elementi che permettono di creare una lista:
- ol per la lista ordinata
- ul per la lista non ordinata
Le singole voci della lista vengono indicate usando l’elemento li
Una tabella (elemento table) è composta da una sequenza di righe (elemento tr), ognuna delle
quali contiene una o più celle che possono essere di due tipi:
- celle contenenti dati (elemento td)
- celle che definiscono intestazioni per le righe o le colonne identificate dalla tabella
(elemento th)
Multimedia
L’elemento HTML per specificare un’immagine è img, un elemento che non contiene alcun
testo ma che deve specificare i seguenti due attributi:
- src, l’URL dove reperire l’immagine
- alt, un testo alternativo mostrato al posto dell’immagine se quest’ultima, per qualsiasi
ragione, non è visualizzabile
L’elemento video usato insieme all’elemento source permettono di inserire un video in un
documento HTML – l’elemento source deve avere specificato l’attributo src che, come per le
immagini, si riferisce all’URL dove reperire il video.
CSS
Nel 1996 viene rilasciata per la prima volta la specifica del Cascading Style Sheet (CSS),
ovvero un ulteriore linguaggio che permette di definire il livello presentazionale degli elementi
di HTML, come ad esempio:
- il colore e la dimensione del testo contenuto nei titoli e nei paragrafi
- la posizione di sezioni, articoli, immagini o video
- l’animazione dinamica quando si posiziona il cursore del mouse su una voce del menu e/
o sui link

Document shared on www.docsity.com


Downloaded by: alessia-campaner (alessia.campaner@gmail.com)

Potrebbero piacerti anche