Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
4. Introduzione al Web (I)
Giuseppe Vizzari
Edizione 2019-20
Queste slides
Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del
corso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. Data la
rapida evoluzione della rete, il corso viene aggiornato ogni anno.
Il presente materiale è pubblicato con licenza Creative Commons
“Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0”
(http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):
La licenza non si estende alle immagini provenienti da altre fonti e alle
screen shot, i cui diritti restano in capo ai rispettivi proprietari, che, ove
possibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e resta
a disposizione per correggerle.
Sintesi delle puntate
precedenti
• Internet è una rete di reti
• Il protocollo TCP/IP suddivide il data stream in pacchetti che seguono strade
diverse (routing)
• Ogni nodo della rete è individuato da un indirizzo IP, eventualmente assegnato da
un server DHCP oppure assegnato manualmente
• Si usano nomi di dominio strutturati, che vengono associati agli indirizzi IP da
server DNS distribuiti
• La governance di Internet è complessa e multistakeholder; le regole per
l'assegnazione dei nomi su Internet vengono gestite da ICANN
• Internet è una rete progettata per essere stupida (best effort delivery, end-to-end
principle)
• L’accesso alla rete è fornito dagli ISP, di varia dimensione e livello; con mutui
accordi di peering e di transit
• L’ecosistema di Internet è molto complesso, gli attori hanno ruoli che variano nel
tempo e interessi comuni e contrapposti
• Il principio della neutralità della rete è contrastato dagli operatori di
telecomunicazioni
• Il dibattito sulla regolamentazione è molto vivo
3
LINK
NODO
Ipertesto
Alcuni “nonni” degli ipertesti…
stack
card
area sensibile
(bottone invisibile)
script
Ipertesti off-line: Hypercard (1987)
6
Realizzato da Bill Atkinson per
Apple Macintosh
Apple Macintosh,
1984+
Hypercard: esempi (video)
• Computer chronicles: Hypercard Mania!
https://www.youtube.com/watch?v=BeMRoYDc2z8
Intervista a Bill Atkinson, con esempi importanti (22')
• The Manhole (1988, 8') di Rand e Robin Miller
https://www.youtube.com/watch?v=YyOTq1EpV5o
• A children hypercard adventure (3'): http://bit.ly/XFN1hT
7
Myst, 1993 (di Rand e Robin Miller)
8
Myst was commercially
successful on release.
Along with The 7th Guest, it
was widely regarded as a
killer application that
accelerated the sales of
CD-ROM drives.[28][45] The
game's success also led to
a number of games which
sought to copy Myst's
success, referred to as
"Myst clones".[28] Myst was
the bestselling PC game
throughout the 1990s, until
The Sims exceeded its
sales in 2002.
[Myst - Wikipedia]
(Le immagini che seguono sono contigue)
L'idea di base del World Wide
Web
• Archiviare pagine di
ipertesto su computer in
Internet, permettendo di
collegarle fra loro
(indipendentemente dalla
loro collocazione)
• Permetterne l’accesso da
qualunque computer in
Internet
• Specificandone soltanto un
nome simbolico (URL,
Uniform Resource Locator),
o cliccando il link su una
From: Information Management: A Proposal,
Tim Berners-Lee, CERNMarch 1989, May 1990
https://www.w3.org/History/1989/proposal.html
L'idea di base del World Wide
Web
• Archiviare pagine di
ipertesto su computer in
Internet, permettendo di
collegarle fra loro
(indipendentemente dalla
loro collocazione)
• Permetterne l’accesso da
qualunque computer in
Internet
• Specificandone soltanto un
nome simbolico (URL,
Uniform Resource Locator),
o cliccando il link su una
From: Information Management: A Proposal,
Tim Berners-Lee, CERNMarch 1989, May 1990
https://www.w3.org/History/1989/proposal.html
Il world wide web
20
INTERNET
Pagina (file)
Link
Il World Wide Web
21
Tim Berners-Lee (1995)
"I just had to take the
hypertext idea and
connect it to the TCP
Protocol and Domain
Name System ideas and
– Ta-da! – the World Wide
Web!”
Che cos’è il World Wide Web
Un sistema di tecnologie correlate, evolutesi con continuità a
partire dai primi anni ’90:
22
Concetto di ipertesto (es.
Hypercard, 1987)
Protocolli internet:
- TCP/IP (primi anni 70)
- DNS (primi anni 80) • HTTP
• HTML
• URI
• BROWSER
(dal 1990-91)
+ WWW=
Il protocollo HTTP
23
HOST HOSTROUTER ROUTER
Web server
Trasporto
Internet
Network
Internet
Network
Internet
Network
Browser
Trasporto
Internet
Network
Protocollo HTTP
TCP: Transmission Control Protocol
IP: Internet Protocol
ClientServer
HyperText Transfer Protocol:
le regole che governano il trasferimento di pagine
web dal computer che le archivia (“server”) al
computer che le richiede (“client”)
Il protocollo HTTP
24
HTTP
internet
Browser
Web
server
HTML
GET (URL)
HTML
PUT
Protocollo stateless
HTTP: privacy
25
HTTP
internet
Browser
Web
server
HTML
GET (URL)
HTML
PUT
Log file
• Indirizzo IP
• Referrer
• Browser name
• Screen resolution
• OS
• … !!??##??!!
• Abbiamo visto che gli stessi pacchetti
IP contengono informazioni sul
mittente…
• Il browser, inoltre, trasmette al Web
server alcune informazioni sul
richiedente…
• … e il web server le raccoglie in un
log file
Web analytics
• In tempo differito
analisi ex-post dei dati raccolti nel log file
• In tempo reale
analisi della situazione corrente
Es.: Google Analytics
26
HTTP: cookie
27
HTTP
internet
Browser
Web
server
HTML
GET (URL)
HTML
PUT
Cookie
• File che vengono “parcheggiati”
dall’applicazione Web nel browser
dell’utente, per ricordarsi che cosa ha
fatto sul sito
• Quindi possono essere scritti e letti dal
server web, non necessariamente solo da
quello che ha generato il cookie!
• L’utente può chiedere al browser di
non accettarli…
• … ma in questo caso alcune
funzionalità di certi siti e servizi web
potrebbero non essere più accessibili
HTTP: cookie
28
HTTP
internet
Browser
Web
server
HTML
GET (URL)
HTML
PUT
Cookie
• Quali funzionalità?
• Prevalentemente il login automatico
(voi inserite login e password ogni
volta che aprite la pagina di Facebook
dopo aver riavviato il vostro
dispositivo?)
• Nulla vieta di ricordare altre cose (ad
es. la storia delle azioni dell’utente)
• In linea generale, un sito può
rilasciare anche cookie di terze parti:
per dire, Booking.com può rilasciare
ed editare un cookie di
Tradedoubler…
• Avete mai aperto un cookie?
Can we live without cookies? (1/2)
Can we live without cookies? (2/2)
http://www.opentracker.net/article/third-party-cookies-vs-first-party-
cookies
La funzionalità “Do Not Track” (DNT) dei
browser
• Parleremo nel dettaglio dei
browser più avanti…
• Sappiate comunque che dal
2007 si discute di una
funzionalità “Do Not Track”
oramai disponibile nei
moderni browser
• Sostanzialmente aggiunge
alle richieste HTTP una
richiesta di non tracciare le
richieste…
• ... Non c’è comunque
consenso su come vada
interpretata questo genere di
richiesta ed è quantomeno
dubbio l’effetto di questa
funzionalità
https://allaboutdnt.com/
Apple e il cross-site tracking tramite
cookie
• Safari, il browser di Apple,
dalla versione presente in
MacOs High-Sierra è dotato
di tecniche che limitano la
possibilità di effettuare il
cosidetto cross-site tracking
• Firefox è dotato di funzionalità
simili
• In pratica previene il fatto che
siti e servizi diversi si
scambino informazioni su di
voi e sul vostro
comportamento tramite i
cookie
• Le compagnie di ad-tracking
hanno ovviamente
protestato… ma molti browser
hanno seguito questa strada
https://www.macrumors.com/2017/09/15/apple-responds-to-safari-11-criticism/
Approfondimenti
• Quali informazioni il browser trasmette al web server in un
dialogo HTTP? Approfonditelo, per es. sulle pagine di
Wikipedia
• Approfondite il tema dei cookie, in particolare il blocco dei
cookie di terze parti (una buona chiave di ricerca è “the world
without cookies”)
• Il diagramma di Tim Berners Lee corrisponde davvero a quello
che poi è stato realizzato almeno nella versione iniziale di
HTML? Ne discuteremo la prossima lezione, anche perché per
ora non abbiamo parlato di HTML, ma magari iniziate a rifletterci
su

4 - Introduzione al Web (1/2)

  • 1.
    Università degli Studidi Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 4. Introduzione al Web (I) Giuseppe Vizzari Edizione 2019-20
  • 2.
    Queste slides Queste slidesfanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno. Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ): La licenza non si estende alle immagini provenienti da altre fonti e alle screen shot, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.
  • 3.
    Sintesi delle puntate precedenti •Internet è una rete di reti • Il protocollo TCP/IP suddivide il data stream in pacchetti che seguono strade diverse (routing) • Ogni nodo della rete è individuato da un indirizzo IP, eventualmente assegnato da un server DHCP oppure assegnato manualmente • Si usano nomi di dominio strutturati, che vengono associati agli indirizzi IP da server DNS distribuiti • La governance di Internet è complessa e multistakeholder; le regole per l'assegnazione dei nomi su Internet vengono gestite da ICANN • Internet è una rete progettata per essere stupida (best effort delivery, end-to-end principle) • L’accesso alla rete è fornito dagli ISP, di varia dimensione e livello; con mutui accordi di peering e di transit • L’ecosistema di Internet è molto complesso, gli attori hanno ruoli che variano nel tempo e interessi comuni e contrapposti • Il principio della neutralità della rete è contrastato dagli operatori di telecomunicazioni • Il dibattito sulla regolamentazione è molto vivo 3
  • 4.
  • 5.
  • 6.
    stack card area sensibile (bottone invisibile) script Ipertestioff-line: Hypercard (1987) 6 Realizzato da Bill Atkinson per Apple Macintosh Apple Macintosh, 1984+
  • 7.
    Hypercard: esempi (video) •Computer chronicles: Hypercard Mania! https://www.youtube.com/watch?v=BeMRoYDc2z8 Intervista a Bill Atkinson, con esempi importanti (22') • The Manhole (1988, 8') di Rand e Robin Miller https://www.youtube.com/watch?v=YyOTq1EpV5o • A children hypercard adventure (3'): http://bit.ly/XFN1hT 7
  • 8.
    Myst, 1993 (diRand e Robin Miller) 8 Myst was commercially successful on release. Along with The 7th Guest, it was widely regarded as a killer application that accelerated the sales of CD-ROM drives.[28][45] The game's success also led to a number of games which sought to copy Myst's success, referred to as "Myst clones".[28] Myst was the bestselling PC game throughout the 1990s, until The Sims exceeded its sales in 2002. [Myst - Wikipedia]
  • 9.
    (Le immagini cheseguono sono contigue)
  • 18.
    L'idea di basedel World Wide Web • Archiviare pagine di ipertesto su computer in Internet, permettendo di collegarle fra loro (indipendentemente dalla loro collocazione) • Permetterne l’accesso da qualunque computer in Internet • Specificandone soltanto un nome simbolico (URL, Uniform Resource Locator), o cliccando il link su una From: Information Management: A Proposal, Tim Berners-Lee, CERNMarch 1989, May 1990 https://www.w3.org/History/1989/proposal.html
  • 19.
    L'idea di basedel World Wide Web • Archiviare pagine di ipertesto su computer in Internet, permettendo di collegarle fra loro (indipendentemente dalla loro collocazione) • Permetterne l’accesso da qualunque computer in Internet • Specificandone soltanto un nome simbolico (URL, Uniform Resource Locator), o cliccando il link su una From: Information Management: A Proposal, Tim Berners-Lee, CERNMarch 1989, May 1990 https://www.w3.org/History/1989/proposal.html
  • 20.
    Il world wideweb 20 INTERNET Pagina (file) Link
  • 21.
    Il World WideWeb 21 Tim Berners-Lee (1995) "I just had to take the hypertext idea and connect it to the TCP Protocol and Domain Name System ideas and – Ta-da! – the World Wide Web!”
  • 22.
    Che cos’è ilWorld Wide Web Un sistema di tecnologie correlate, evolutesi con continuità a partire dai primi anni ’90: 22 Concetto di ipertesto (es. Hypercard, 1987) Protocolli internet: - TCP/IP (primi anni 70) - DNS (primi anni 80) • HTTP • HTML • URI • BROWSER (dal 1990-91) + WWW=
  • 23.
    Il protocollo HTTP 23 HOSTHOSTROUTER ROUTER Web server Trasporto Internet Network Internet Network Internet Network Browser Trasporto Internet Network Protocollo HTTP TCP: Transmission Control Protocol IP: Internet Protocol ClientServer HyperText Transfer Protocol: le regole che governano il trasferimento di pagine web dal computer che le archivia (“server”) al computer che le richiede (“client”)
  • 24.
  • 25.
    HTTP: privacy 25 HTTP internet Browser Web server HTML GET (URL) HTML PUT Logfile • Indirizzo IP • Referrer • Browser name • Screen resolution • OS • … !!??##??!! • Abbiamo visto che gli stessi pacchetti IP contengono informazioni sul mittente… • Il browser, inoltre, trasmette al Web server alcune informazioni sul richiedente… • … e il web server le raccoglie in un log file
  • 26.
    Web analytics • Intempo differito analisi ex-post dei dati raccolti nel log file • In tempo reale analisi della situazione corrente Es.: Google Analytics 26
  • 27.
    HTTP: cookie 27 HTTP internet Browser Web server HTML GET (URL) HTML PUT Cookie •File che vengono “parcheggiati” dall’applicazione Web nel browser dell’utente, per ricordarsi che cosa ha fatto sul sito • Quindi possono essere scritti e letti dal server web, non necessariamente solo da quello che ha generato il cookie! • L’utente può chiedere al browser di non accettarli… • … ma in questo caso alcune funzionalità di certi siti e servizi web potrebbero non essere più accessibili
  • 28.
    HTTP: cookie 28 HTTP internet Browser Web server HTML GET (URL) HTML PUT Cookie •Quali funzionalità? • Prevalentemente il login automatico (voi inserite login e password ogni volta che aprite la pagina di Facebook dopo aver riavviato il vostro dispositivo?) • Nulla vieta di ricordare altre cose (ad es. la storia delle azioni dell’utente) • In linea generale, un sito può rilasciare anche cookie di terze parti: per dire, Booking.com può rilasciare ed editare un cookie di Tradedoubler… • Avete mai aperto un cookie?
  • 29.
    Can we livewithout cookies? (1/2)
  • 30.
    Can we livewithout cookies? (2/2) http://www.opentracker.net/article/third-party-cookies-vs-first-party- cookies
  • 31.
    La funzionalità “DoNot Track” (DNT) dei browser • Parleremo nel dettaglio dei browser più avanti… • Sappiate comunque che dal 2007 si discute di una funzionalità “Do Not Track” oramai disponibile nei moderni browser • Sostanzialmente aggiunge alle richieste HTTP una richiesta di non tracciare le richieste… • ... Non c’è comunque consenso su come vada interpretata questo genere di richiesta ed è quantomeno dubbio l’effetto di questa funzionalità https://allaboutdnt.com/
  • 32.
    Apple e ilcross-site tracking tramite cookie • Safari, il browser di Apple, dalla versione presente in MacOs High-Sierra è dotato di tecniche che limitano la possibilità di effettuare il cosidetto cross-site tracking • Firefox è dotato di funzionalità simili • In pratica previene il fatto che siti e servizi diversi si scambino informazioni su di voi e sul vostro comportamento tramite i cookie • Le compagnie di ad-tracking hanno ovviamente protestato… ma molti browser hanno seguito questa strada https://www.macrumors.com/2017/09/15/apple-responds-to-safari-11-criticism/
  • 33.
    Approfondimenti • Quali informazioniil browser trasmette al web server in un dialogo HTTP? Approfonditelo, per es. sulle pagine di Wikipedia • Approfondite il tema dei cookie, in particolare il blocco dei cookie di terze parti (una buona chiave di ricerca è “the world without cookies”) • Il diagramma di Tim Berners Lee corrisponde davvero a quello che poi è stato realizzato almeno nella versione iniziale di HTML? Ne discuteremo la prossima lezione, anche perché per ora non abbiamo parlato di HTML, ma magari iniziate a rifletterci su