Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
4. Introduzione al Web (I)
Giuseppe Vizzari
Edizione 2017-18
Queste slidesQueste 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
clic
Ipertesti off-line: Hypercard (1987)
6Realizzato da Bill Atkinson perApple 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 Millerhttps://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 pagina
From: Information Management: A Proposal,Tim Berners-Lee, CERNMarch 1989, May 1990 https://www.w3.org/History/1989/proposal.html
Il world wide web
19
INTERNET
Pagina (file) Link
Il World Wide Web
20
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:
21
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
22
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”)
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
23
HTTPinternet
Browser
Web server
HTML
GET (URL)
HTMLPUT
Protocollo stateless
HTTP: privacy
24
HTTPinternet
Browser
Web server
HTML
GET (URL)
HTMLPUT
Log file
• Indirizzo IP• Referrer• Browser name• Screen resolution• OS• … !!??##??!!
Il browser trasmette al Web server alcune informazioni sul richiedente…… e il web server le raccoglie in un log file
Web analytics
• In tempo differitoanalisi ex-post dei dati raccolti nel log file• In tempo reale
analisi della situazione correnteEs.: Google Analytics
25
HTTP: cookie
26
HTTPinternet
Browser
Web server
HTML
GET (URL)
HTMLPUT
Cookie
• File che vengono “parcheggiati” dall’applicazione Web nel browser dell’utente, per ricordarsi che cosa ha fatto sul sito
• 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
• File che vengono “parcheggiati” dall’applicazione Web nel browser dell’utente, per ricordarsi che cosa ha fatto sul sito
• 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
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
• L’ultima versione di Safari, il browser di Apple, è dotato di tecniche che limitano la possibilità di effettuare il cosidetto cross-site tracking• 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…
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