6 - Il browser - 17/18

46
Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 6. Il browser Giuseppe Vizzari Edizione 2017-18

Transcript of 6 - Il browser - 17/18

Page 1: 6 - Il browser - 17/18

Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione

Corso di Strumenti e applicazioni del Web

6. Il browser

Giuseppe Vizzari

Edizione 2017-18

Page 2: 6 - Il browser - 17/18

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 rapidaevoluzione 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, icui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono statiindicati. L'autore si scusa per eventuali omissioni, e resta a disposizione percorreggerle.

Page 3: 6 - Il browser - 17/18

Riassunto della puntata precedente

• Web =• Internet + Ipertesti (concettualmente)

• HTTP + HTML + URI + Browser + Web server + protocolli pre-esistenti (tecnicamente)

• Quali informazioni su di noi il browser invia al web server

• Una pagina web aggrega oggetti provenienti da fonti anche molto diverse

• Scripting (client side e server side)

3

Page 4: 6 - Il browser - 17/18

Il browser

• È lo strumento base per accedere al Web

• “to browse”: curiosare, sfogliare, dare una scorsa

• È una macchina complessa, soggetta a continua

evoluzione

• Il progenitore: World Wide Web (poi chiamato

Nexus) di Tim Berners-Lee (1991)

• Ne esistono diversi, in continua competizione per

incrementare le loro quote di mercato

• L'esito delle "guerre dei browser" è (stato?)

fondamentale per il posizionamento sul mercato di

Internet

Page 5: 6 - Il browser - 17/18

Il protocollo HTTP

5

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

Page 6: 6 - Il browser - 17/18

In sintesi…

6BROWSER

File HTML

Page 7: 6 - Il browser - 17/18

Embedding

7

<html>

<body>

embed code

</body>

</html>

oggetto attivo

disponibile sulla rete

Page 8: 6 - Il browser - 17/18

"Widgets": esempi

8

Page 9: 6 - Il browser - 17/18

Creazione di un widget: esempio

9

Twitter:

Page 10: 6 - Il browser - 17/18

(segue)

10

<a class="twitter-timeline"

href="https://twitter.com/VizzariG" data-widget-

id="657943005760987136">Tweets by @VizzariG</a>

<script>!function(d,s,id){var

js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.lo

cation)?'http':'https';if(!d.getElementById(id)){js=d.create

Element(s);js.id=id;js.src=p+"://platform.twitter.com/widg

ets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"s

cript","twitter-wjs");</script>

Il codice generato, da

copiare nella propria

pagina Web

Page 11: 6 - Il browser - 17/18

Analogamente…

Page 12: 6 - Il browser - 17/18

Virtualizzazone / globalizzazione della rete

12

Da dove provengono i servizi?

Page 13: 6 - Il browser - 17/18

Architettura di un browser

13

Da: Grosskurth, Godfrey, Architecture and evolution

of the modern web browser (in rete)

Browser

Page 14: 6 - Il browser - 17/18

Architettura di un browser

14

Da: Grosskurth, Godfrey, Architecture and evolution of the modern web browser

(https://plg.uwaterloo.ca/~migod/papers/2006/jss-browserRefArch.pdf)

Store/retrievebookmarks, cookies, settings, …

Navigation support

HTTP handling

Visual representation of a given URI

Toolbars, menu, …

Page 15: 6 - Il browser - 17/18

Browser e risorse…

Page 16: 6 - Il browser - 17/18

Mosaic

• Sviluppato a partire dalla fine 1992 al NCSA (National Center for Supercomputing Applications) dell'Università dell'Illinois a Urbana-Champaign, influenzò profondamente i browser successivi

• Marc Andreessen, il capo progetto, fondò poi Netscape

16

Page 17: 6 - Il browser - 17/18

Marc Andreesen (1971 -…)

17

Andreesen – Horowitz: venture capital

con partecipazioni in Ning, Facebook,

Foursquare, Twitter, Skype, Pinterest,

Groupon, Zynga, ….

Page 18: 6 - Il browser - 17/18

Browser timeline

18

20

08

Chrome

Da: G

rossku

rth

, G

od

frey,

Arc

hite

ctu

re a

nd

evo

lution

of th

e m

od

ern

we

b b

row

se

r (

htt

ps:/

/plg

.uw

ate

rloo

.ca

/~m

igod/p

apers

/2006

/jss-b

row

se

rRefA

rch.p

df)

I browser

war

II broser

war

III

browser

war

Page 19: 6 - Il browser - 17/18

W3C: World Wide Web Consortium• Fondato nel 1994 da Tim Berners-Lee

• "The W3C mission is to lead the World Wide Web to its full potential by developing protocols and guidelines that ensure the long-term growth of the Web"

• Emette delle Recommendation, che sono considerate gli standard del Web

• Vita abbastanza difficile, almeno inizialmente, dato l’evidente interesse e rilevanza commerciale comparata alla iniziale immaturità delle tecnologie…

• Guardate http://www.w3.org

19

Page 20: 6 - Il browser - 17/18

Le "browser wars"

• Il controllo del browser leader di mercato fornisce un vantaggio competitivo molto forte

• Per vincere:

• Gratuità

• Funzionalità avanzate e qualità del software

• Perché cercare di vincere “regalando” software?

• Funzionalità proprietarie → indebolimento degli standard oppure: controllo degli standard (prime fasi)

• Possibilità di acquisire dati sull’utilizzo del browser e della rete da parte degli utenti (attualmente)

• Le guerre dei browser:

1) (1995-1998) Explorer vs Netscape

2) (2004- 2015) Firefox vs Explorer

3) (2008 - …) Chrome vs Firefox/Edge/Safari

4) (2007 - …) Mobile browsers

5) (2016 - …) “Ad-free” browsers? (Safari 11, Brave, … ?)

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

20

Page 21: 6 - Il browser - 17/18

Mozilla Foundation

• ”A non-profit organization that promotes openness, innovationand participation on the Internet.”

• Gestisce Firefox, open-source, dal 2003

• Mozilla Manifesto: https://www.mozilla.org/about/manifesto.it.html

• L'85% (=300 ml $ annui) dei finanziamenti del 2014 proviene da Google, in cambio Firefox usa Google come motore di ricerca di default (il contratto è stato rinnovato fino a novembre 2014)…

• … nel 2014 Mozilla ha firmato un contratto quinquennale con Yahoo, per averlo come motore di ricerca predefinito nel Nord America (ma Yahoo Search è sostanzialmente un front-end per Bing…)

21

Page 22: 6 - Il browser - 17/18

Firefox

• Browser gratuito e open-source

• Sviluppato dalla Mozilla Foundation, dal 2004

• Versioni mobili da 2010-2011

• Ciclo di rilascio molto accelerato (dopo l’arrivo di Chrome):Nightly → Aurora → Beta

• Oggi: release 56.0

22

Page 23: 6 - Il browser - 17/18

Usage share, oggi

• La % di utenti che usano un certo browser

• A febbraio 2015 (fonte StatCounter, non mobile):- Chrome: 49%- Explorer: 19%- Firefox: 17%- Safari: 10%- Altri: 5%

• NB: Le varie metodiche di misura determinano risultati molto diversi: conviene utilizzare varie fonti e calcolarne la mediana

• Fonte: http://en.wikipedia.org/wiki/Usage_share_of_web_browsers

23

95%

Page 24: 6 - Il browser - 17/18

Mobile browser (ultimi 6 anni)

24Fonte: StatCounter

Page 25: 6 - Il browser - 17/18

Conformità agli standard

• La rapida evoluzione delle tecnologie Web (es. HTML, XML, scripting languages), e la guerra dei browser hanno generato una notevole varietà di comportamenti nei browser

• Il W3C emette e aggiorna gli standard del Web ("Recommendations")

• Questi dovrebbero essere seguiti dagli sviluppatori dei siti e dei browser, ma…

25

Page 26: 6 - Il browser - 17/18

HTML e CSS: evoluzione

26http://www.jasonspeaking.com/index.php/2010/04/the-evolution-of-html-css/

HTML5

CSS4 (?)

RecommendationW3C

Ott 2014

Page 27: 6 - Il browser - 17/18

Standard: a moving target

27

tDefinizione

della nuova

tecnologia

Standard 0 Standard 1

draft

draft

deprecated

Standard 2

fea

ture

s

strict

transitional

prodotti

Page 28: 6 - Il browser - 17/18

Test di conformità / compatibilità

Test di conformità dei browser:

Un servizio online gratuito per verificare la conformità dei browser con HTML5: Provatelo sul vostro browser!

http://html5test.com/index.html

Test di compatibilità di un sito:

Vari servizi per vedere come una pagina Web viene visualizzata dai diversi browser (in simulazione)

28

Page 29: 6 - Il browser - 17/18

Interfaccia utente: basics

29

URL

Pagina

web

Navigazione

• Indietro

• Avanti

• Refresh

• History

Page 30: 6 - Il browser - 17/18

Mosaic

Page 31: 6 - Il browser - 17/18

Interfaccia utente

Necessità di operare contemporaneamente su più pagine

31

Modello desktop:

più browser attivi

in finestre differenti

(ogni finestra

ha una storia separata)

Nuovo modello:

il browser gestisce più

finestre

(con una cronologia

comune)

Page 32: 6 - Il browser - 17/18

Evoluzione del browser

32

Mosaic

Explorer

Firefox

Safari

Tabbed

browsing

Page 33: 6 - Il browser - 17/18

Evoluzione del browser

33

Mosaic

Explorer

Firefox

Safari

Tabbed

browsing

Richiamo a

motore di ricerca

Page 34: 6 - Il browser - 17/18

Tabbed browsing: esempi

34

Firefox 3.6

Explorer 8.0

Page 35: 6 - Il browser - 17/18

Evoluzione del browser

35

Mosaic

Explorer

Firefox

Safari

Tabbed

browsing

Chrome

detach

Page 36: 6 - Il browser - 17/18

Chrome

36

http://www.youtube.com/watch?v=WoynSZNQxJs&feature=related (in italiano)

Page 37: 6 - Il browser - 17/18

Multi-tasking

37

Il browser diviente una sorta di sistema operativo

(vedi Google Chrome OS – Chromium)

Processi separati, ma

con cronologia

comune

Page 38: 6 - Il browser - 17/18

Google Chrome Omnibox

38

Page 39: 6 - Il browser - 17/18

Online browser support

39

HTTPinternet

Browser

Web

server

HTML

HTML

GOOGLE

Servizi

online al

browser

Page 40: 6 - Il browser - 17/18

Online browser support

40

HTTPinternet

Browser

Web

server

HTML

HTML

GOOGLE

Servizi

online al

browser

Info inviate (se non disattivate):

Info typed in omnibox → search engine

Browser settings → google personal account

(preferences, bookmarks, stored passwords,

…)

Testi da tradurre → google translate

Usage statistics → google databaseshttp://www.google.com/chrome/intl/en/privacy.html

Privacy?

Page 41: 6 - Il browser - 17/18

Chrome: impostazioni di sincronizzazione

41

Versione 41

Page 42: 6 - Il browser - 17/18

Bookmarks

• Bookmarks (preferiti, favorites, hot lists,…): URL memorizzati nel browser per rapido accessoVengono memorizzati localmente (se non sincronizzati)

• Social bookmarking: servizi online, mettono in comune bookmarks di più utenti, a volte categorizzati in modi differenti…

• Es.: www.delicious.comFondato 2003, comprato da Yahoo! 2005 (costo tra i 15 e i 30 milioni di dollari), poi altri passaggi societari fino al recente acquisto da parte di Pinboard per 35 mila dollari...

• Esempio più recente, vivo e apparentemente economicamente sostenibile: Pinterest (https://www.pinterest.com/)Fondato a fine 2009, oggi valutata intorno ai 12 miliardi di dollari, ma ancora non si parla di una collocazione in borsa…

42

Page 43: 6 - Il browser - 17/18

Estensioni al browser

• Componenti aggiuntivi che possono essere installati sul browser per fornire specifiche funzionalità (chiamati anche "add-on", "plugin",…)

• Realizzati da terze parti, che utilizzano le interfacce programmative (API) del browser

• Esempi:• Chrome: https://chrome.google.com/webstore?hl=it

• Firefox: https://addons.mozilla.org/it/firefox/

43

Page 44: 6 - Il browser - 17/18

Estensioni: esempi

• Yoono (Firefox)Interazione con Facebook, Twitter e Linkedin durante la navigazionehttp://www.youtube.com/watch?v=BLPTQULcC6o (1:34)

• ImTranslator (Firefox)Traduzione in tempo reale nella lingua scelta (0:44)http://www.youtube.com/watch?v=O436cvXPnzU

• InvisibleHand (Firefox)Propone il prezzo migliore di un prodotto/servizio selezionato (1:26)http://www.youtube.com/watch?v=ThFZeRYf_J8

• GooEdit (Chrome)modifica un'immagine su una pagina Web, la salva e la twittahttp://www.youtube.com/watch?v=as1JdLpbBHc (1:06)

Thks A.Testa, V.Gennari, S.Antognazza per le demo video http://bit.ly/YEfY4L

44

Page 45: 6 - Il browser - 17/18

Privacy ?

45

Servizi attivati

dalle estensioni

del browser

Sito

visitato

Internet

Page 46: 6 - Il browser - 17/18

Sintesi della lezione

• I browser sono macchine complesse

• Avere il monopolio dei browser dà un forte vantaggio competitivo sul mercato Internet

• I browser inglobano funzioni degli OS

• Le API pubbliche ne fanno macchine estensibili

• Supporto online delle funzioni del browser e delle estensioni: il problema della privacy

46