6 - Il browser - 17/18

Post on 23-Jan-2018

389 views 1 download

transcript

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

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.

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

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

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

In sintesi…

6BROWSER

File HTML

Embedding

7

<html>

<body>

embed code

</body>

</html>

oggetto attivo

disponibile sulla rete

"Widgets": esempi

8

Creazione di un widget: esempio

9

Twitter:

(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

Analogamente…

Virtualizzazone / globalizzazione della rete

12

Da dove provengono i servizi?

Architettura di un browser

13

Da: Grosskurth, Godfrey, Architecture and evolution

of the modern web browser (in rete)

Browser

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, …

Browser e risorse…

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

Marc Andreesen (1971 -…)

17

Andreesen – Horowitz: venture capital

con partecipazioni in Ning, Facebook,

Foursquare, Twitter, Skype, Pinterest,

Groupon, Zynga, ….

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

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

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

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

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

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%

Mobile browser (ultimi 6 anni)

24Fonte: StatCounter

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

HTML e CSS: evoluzione

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

HTML5

CSS4 (?)

RecommendationW3C

Ott 2014

Standard: a moving target

27

tDefinizione

della nuova

tecnologia

Standard 0 Standard 1

draft

draft

deprecated

Standard 2

fea

ture

s

strict

transitional

prodotti

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

Interfaccia utente: basics

29

URL

Pagina

web

Navigazione

• Indietro

• Avanti

• Refresh

• History

Mosaic

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)

Evoluzione del browser

32

Mosaic

Explorer

Firefox

Safari

Tabbed

browsing

Evoluzione del browser

33

Mosaic

Explorer

Firefox

Safari

Tabbed

browsing

Richiamo a

motore di ricerca

Tabbed browsing: esempi

34

Firefox 3.6

Explorer 8.0

Evoluzione del browser

35

Mosaic

Explorer

Firefox

Safari

Tabbed

browsing

Chrome

detach

Chrome

36

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

Multi-tasking

37

Il browser diviente una sorta di sistema operativo

(vedi Google Chrome OS – Chromium)

Processi separati, ma

con cronologia

comune

Google Chrome Omnibox

38

Online browser support

39

HTTPinternet

Browser

Web

server

HTML

HTML

GOOGLE

Servizi

online al

browser

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?

Chrome: impostazioni di sincronizzazione

41

Versione 41

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

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

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

Privacy ?

45

Servizi attivati

dalle estensioni

del browser

Sito

visitato

Internet

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