4 - Introduzione al Web (1/2) - 16/17

34
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 2016-17

Transcript of 4 - Introduzione al Web (1/2) - 16/17

Page 1: 4 - Introduzione al Web (1/2) - 16/17

Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e ComunicazioneCorso di Strumenti e applicazioni del Web

4. Introduzione al Web (I)Giuseppe Vizzari

Edizione 2016-17

Page 2: 4 - Introduzione al Web (1/2) - 16/17

Queste slidesQueste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in strumentiapplicazioniweb.wordpress.com. 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.

Page 3: 4 - Introduzione al Web (1/2) - 16/17

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

Page 4: 4 - Introduzione al Web (1/2) - 16/17

LINK

NODO

Ipertesto

Page 5: 4 - Introduzione al Web (1/2) - 16/17

Alcuni “nonni” degli ipertesti…

Page 6: 4 - Introduzione al Web (1/2) - 16/17

stack

cardarea sensibile(bottone invisibile)

script

clic

Ipertesti off-line: Hypercard (1987)

6Realizzato da Bill Atkinson perApple Macintosh

Apple Macintosh, 1984+

Page 7: 4 - Introduzione al Web (1/2) - 16/17

Hypercard: esempi (video)

• Computer chronicles: Hypercard Mania!https://www.youtube.com/watch?v=BeMRoYDc2z8 Intervista a Bill Atkinson, con esempi importanti (22', da vedere)

• 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

Page 8: 4 - Introduzione al Web (1/2) - 16/17

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]

Page 9: 4 - Introduzione al Web (1/2) - 16/17

(Le immagini che seguono sono contigue)

Page 10: 4 - Introduzione al Web (1/2) - 16/17
Page 11: 4 - Introduzione al Web (1/2) - 16/17
Page 12: 4 - Introduzione al Web (1/2) - 16/17
Page 13: 4 - Introduzione al Web (1/2) - 16/17
Page 14: 4 - Introduzione al Web (1/2) - 16/17
Page 15: 4 - Introduzione al Web (1/2) - 16/17
Page 16: 4 - Introduzione al Web (1/2) - 16/17
Page 17: 4 - Introduzione al Web (1/2) - 16/17
Page 18: 4 - Introduzione al Web (1/2) - 16/17

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

Page 19: 4 - Introduzione al Web (1/2) - 16/17

Il world wide web

19

INTERNET

Pagina (file) Link

Page 20: 4 - Introduzione al Web (1/2) - 16/17

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!”

Page 21: 4 - Introduzione al Web (1/2) - 16/17

Che cos’è il World Wide WebUn 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

=

Page 22: 4 - Introduzione al Web (1/2) - 16/17

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”)

Page 23: 4 - Introduzione al Web (1/2) - 16/17

Il protocollo HTTP

23

HTTPinternetBrowser

Web server

HTML

GET (URL)

HTMLPUT

Protocollo stateless

Page 24: 4 - Introduzione al Web (1/2) - 16/17

HTTP: privacy

24

HTTPinternetBrowser

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

Page 25: 4 - Introduzione al Web (1/2) - 16/17

Web analytics

• In tempo differitoanalisi ex-post dei dati raccolti nel log file

• In tempo realeanalisi della situazione correnteEs.: Google Analytics

25

Page 26: 4 - Introduzione al Web (1/2) - 16/17

HTTP: privacy

26

HTTPinternetBrowser

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

Page 27: 4 - Introduzione al Web (1/2) - 16/17

Can we live without cookies? (1/2)

Page 28: 4 - Introduzione al Web (1/2) - 16/17

Can we live without cookies? (2/2)

http://www.opentracker.net/article/third-party-cookies-vs-first-party-cookies

Page 29: 4 - Introduzione al Web (1/2) - 16/17

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 è almeno dubbio l’effetto di questa funzionalità

https://allaboutdnt.com/

Page 30: 4 - Introduzione al Web (1/2) - 16/17

Naming: URI, URL, URN

30

URI Uniform Resource Identifier

URN Uniform Resource Name

Specifica il nome della risorsa

Esempio:(International Standard Book Number)

URL Uniform Resource Locator

Specifica l'indirizzo della risorsa

Page 31: 4 - Introduzione al Web (1/2) - 16/17

Esempio

31

Web server

Root /

A corso

B

Index.html

File

syst

em d

el

com

pute

r

Page 32: 4 - Introduzione al Web (1/2) - 16/17

Se non mettete l’URL completo…

32

rpolillo.it

Web server

Web server (pathname di default)browser

Se ci sono vari siti sullo stesso server,Si usano varie tecniche per fornire il sito di default. La soluzione più elegante èquella di definire vari host virtuali, ciascuno con un proprio indirizzo IP.

http://en.wikipedia.org/wiki/Virtual_hosting

Page 33: 4 - Introduzione al Web (1/2) - 16/17

URL shortening

• Gli URL tendono ad essere lunghi servizi che accorciano gli URL

• Esempio: http://www.rpolillo.it/index.php/2013/01/workshop-su-digital-heritage-levoluzione-della-memoria-1-feb-2012-in-bicocca/ http://bit.ly/1FKg3oN

33

Esempi:bit.lytinyurl.comt.Co….

Statistiche d'accesso e altri servizi

HTTPinternetBrowser

Web server

HTML

HTMLPUT

GET

Servizio di URL shortening

Page 34: 4 - Introduzione al Web (1/2) - 16/17

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

• Approfondite il concetto di URL• Provate qualche servizio di URL shortening, e verificate quali servizi aggiuntivi vi vengono offerti, e il modello di business che permette al servizio di sopravvivere sul mercato