4 - Introduzione al web (1/2) - 17/18

Post on 23-Jan-2018

524 views 0 download

transcript

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