6 - Il browser - 16/17

Post on 07-Jan-2017

1.141 views 2 download

Transcript of 6 - Il browser - 16/17

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

6. Il browserGiuseppe Vizzari

Edizione 2016-17

Queste slideQueste slide 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.

Riassunto della puntata precedente• Web = Internet + Ipertesti + HTTP + HTML + URI +

Browser + Web server• 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…

6

link

BROWSER

File HTML

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

• Guardate http://www.w3.org

7

Embedding

8

<html><body>

embed code

</body></html>

oggetto attivo

disponibile sulla rete

"Widgets": esempi

9

Creazione di un widget: esempio

10

Twitter:

(segue)

11

<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.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

Il codice generato, da copiare nella propria pagina Web

Analogamente…

Virtualizzazone / globalizzazione della rete13

Da dove provengono i servizi?

Architettura di un browser

14Da: Grosskurth, Godfrey, Architecture and evolution of the modern web browser (in rete)

Browser

Architettura di un browser

15Da: Grosskurth, Godfrey, Architecture and evolution of the modern web browser (in rete)

Store/retrievebookmarks, cookies, settings, …

Navigation support

HTTP handling

Visual representation of a given URI

Toolbars, menu, …

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

200

8

Chrome

Da: G

ross

kurth

, God

frey,

Arc

hite

ctur

e an

d ev

olut

ion

of th

e m

oder

n we

b br

owse

r (in

rete

)

I browser war

II broser war

III browser war

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 Explorer3) (2008 - …) Chrome vs Firefox/Edge/Safari4) (2007 - …) Mobile browsershttp://en.wikipedia.org/wiki/Browser_wars

19

Mozilla Foundation

• ”A non-profit organization that promotes openness, innovation and 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…)

20

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 49.0.1

21

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

22

95%

Mobile browser (ultimi 6 anni)

23Fonte: 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…

24

HTML e CSS: evoluzione

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

HTML5

CSS4 (?)

Recommendation W3C

Ott 2014

Standard: a moving target

26

tDefinizionedella nuovatecnologia

Standard 0 Standard 1

draft

draft

deprecated

Standard 2

feat

ures

stricttransitional

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)

27

Interfaccia utente: basics

28

URL

Pagina web

Navigazione• Indietro• Avanti• Refresh• History

Mosaic

Interfaccia utenteNecessità di operare contemporaneamente su più pagine

30

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

31

MosaicExplorerFirefoxSafari

Tabbed browsing

Evoluzione del browser

32

MosaicExplorerFirefoxSafari

Tabbed browsing

Richiamo a motore di ricerca

Tabbed browsing: esempi

33

Firefox 3.6

Explorer 8.0

Evoluzione del browser

34

MosaicExplorerFirefoxSafari

Tabbed browsing

Chrome

detach

Chrome

35

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

Multi-tasking

36

Il browser diviente una sorta di sistema operativo (vedi Google Chrome OS – Chromium)

Processi separati, ma con cronologia

comune

Google Chrome Omnibox

37

Online browser support

38

HTTPinternetBrowser

Web server

HTML

HTML

GOOGLEServizi

online al browser

Online browser support

39

HTTPinternetBrowser

Web server

HTML

HTML

GOOGLEServizi

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

40

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

• Es.: www.delicious.comFondato 2003, comprato da Yahoo! 2005, venduto ai fondatori di YouTube 2011 poi a Science (2014)

41

Social bookmarking services

42

HTTPinternetBrowser

Web server

HTML

HTML

GOOGLEServizi

online al browser

Browser

Boomarks db

www.delicious.com

www.delicious.com• Inizialmente www.del.icio.us • Il sito che ha inventato il social bookmarking, fondato nel 2003, acquisito da Yahoo! nel 2005, venduto ai fondatori di YouTube nel 2011 (Avos)

• Permette di salvare, taggare e condividere bookmarks (che per default sono pubblici), gratuitamente

• Bottoni per bookmarking installabili sul proprio browser

• Accesso rapido: www.delicious.com/tag/<tag> • http://en.wikipedia.org/wiki/Del.icio.us

43

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/

44

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

45

Privacy ?

46

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

47