world wide web aka “the internet” · world wide web aka “the internet” karst koymans...

63
. . WWW World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC) Friday, October 7, 2016 Karst Koymans (UvA) WWW Friday, October 7, 2016 1 / 63

Upload: others

Post on 04-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

.

......

WWWWorld Wide Web

Aka “The Internet”

Karst Koymans

Informatics InstituteUniversity of Amsterdam

(version 16.3, 2016/10/06 13:25:13 UTC)

Friday, October 7, 2016

Karst Koymans (UvA) WWW Friday, October 7, 2016 1 / 63

Page 2: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 2 / 63

Page 3: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

WWW history

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 3 / 63

Page 4: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

WWW history

WWW history (1)

1968 Doug EngelbartEarlier than ARPANET or UNIXInventor of. . .

. . . the “mouse”

. . . and of hypermedia

. . . and of videoconferencing

Karst Koymans (UvA) WWW Friday, October 7, 2016 4 / 63

Page 5: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

WWW history

WWW history (2)

1989 Tim Berners Lee20 years after EngelbartFirst “Information management proposal” at CERN

1990 WorldWideWeb browser (later Nexus)Developed by Berners Lee on NEXTSTEP“World Wide Web” (with spaces) is the abstract information space

Karst Koymans (UvA) WWW Friday, October 7, 2016 5 / 63

Page 6: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

WWW history

WWW history (3)

More browsers1992

Line mode browser 1.1ViolaWWW browser for X Windows

1993

Mosaic for X Windows (Marc Andreessen, founder of Netscape)

Karst Koymans (UvA) WWW Friday, October 7, 2016 6 / 63

Page 7: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

WWW history

WWW history (4)

1994Mozilla (Netscape)W3C founded (MIT, INRIA, Keio)

In 2003 ERCIM took the place of INRIAIn 2012 http://www.webplatform.org/ was convenedwith an invalid certificate (20131003) for httpsIn 2013 Beihang University (China) was invited to join hosting W3C

1995Microsoft launches Internet ExplorerStart of the Browser Wars

Karst Koymans (UvA) WWW Friday, October 7, 2016 7 / 63

Page 8: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

WWW history

WWW history (5)

.Standards based browsers and layout engines (20151005)..

......

Gecko (Firefox, Seamonkey, Netscape, Thunderbird)

KHTML (Konqueror)WebKit, using WebCore (Apple Safari, Google Chrome)

Blink derived from WebCore (Chrome, Chromium, Opera)

Trident/EdgeHTML (Microsoft Internet Explorer / Microsoft Edge)a

Presto (Opera (until 2013))b

aproprietary, but freely availablebproprietary; freely and commercially available

Karst Koymans (UvA) WWW Friday, October 7, 2016 8 / 63

Page 9: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Basic concepts

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 9 / 63

Page 10: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Basic concepts

WWW concepts

Web browser (client)

Web server (server)

URLs and HTTP (protocol)

HTML and other markup (content)

Dynamic web pages (interaction)

Document Object Model (page model)

3-tier model (architecture)

Karst Koymans (UvA) WWW Friday, October 7, 2016 10 / 63

Page 11: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Client side

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 11 / 63

Page 12: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Client side

Browser

Client making requests for web pages

Interface for the userGraphical User Interface

IE, Safari, Firefox, Opera, Chrome, Chromium, . . .

Terminal based

lynx, links, w3m, . . .

Karst Koymans (UvA) WWW Friday, October 7, 2016 12 / 63

Page 13: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 13 / 63

Page 14: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Web server

Server responding to requestsNCSA HTTPd, Apache HTTP ServerInternet Information Services (IIS, Microsoft)Sun Java System Web Server (Sun ONE, iPlanet)

Partly open sourced (Open Web Server)

Looks for information in or viafiles, databases, scriptslocally or remote

See also http://www.netcraft.com/

Karst Koymans (UvA) WWW Friday, October 7, 2016 14 / 63

Page 15: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Lesser known or more recent web servers

nginx (“engine X”)also reverse proxy and load balancerhigh performance

Google Web Server (GWS)Google custom (mystery?) web serveralso runs Blogger, Google Docs, . . .

lighttpd (“lighty”)lightweightoptimised for speed

qq.comChinese IM and blog service (mostly private now)

Karst Koymans (UvA) WWW Friday, October 7, 2016 15 / 63

Page 16: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey October 2006

Karst Koymans (UvA) WWW Friday, October 7, 2016 16 / 63

Page 17: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey November 2007

Karst Koymans (UvA) WWW Friday, October 7, 2016 17 / 63

Page 18: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2008

Karst Koymans (UvA) WWW Friday, October 7, 2016 18 / 63

Page 19: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2009

Karst Koymans (UvA) WWW Friday, October 7, 2016 19 / 63

Page 20: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2010

Karst Koymans (UvA) WWW Friday, October 7, 2016 20 / 63

Page 21: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2011

Karst Koymans (UvA) WWW Friday, October 7, 2016 21 / 63

Page 22: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey December 2012 (active sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 22 / 63

Page 23: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey October 2013 (all sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 23 / 63

Page 24: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2014 (all sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 24 / 63

Page 25: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2015 (all sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 25 / 63

Page 26: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2016 (all sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 26 / 63

Page 27: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2014 (active sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 27 / 63

Page 28: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2015 (active sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 28 / 63

Page 29: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

Netcraft survey September 2016 (active sites)

Karst Koymans (UvA) WWW Friday, October 7, 2016 29 / 63

Page 30: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

3-tier model

Presentation layer (user tier)Communicates with (client) browser

Business Logic layer (business tier)Applies business rules

Data layer (data tier)Interacts with data store (database)

Karst Koymans (UvA) WWW Friday, October 7, 2016 30 / 63

Page 31: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Server side

LAMP model

(L)inux as underlying OS

(A)pache as presentation layer

(M)ySQL as data layer

(P)HP as business logic layerSome people use (P)erl and/or (P)ython

Karst Koymans (UvA) WWW Friday, October 7, 2016 31 / 63

Page 32: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 32 / 63

Page 33: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

Dynamic web pages (server side)

Server side dynamic web page technologies,which are able to generate unique content for each call or user

Common Gateway Interface (CGI)Server Side Includes (SSI)Server-side scripting

PHP, JSP, ASP

Servlets: server-side java applicationsASP.NET: successor of ASP, part of the .NET framework

Karst Koymans (UvA) WWW Friday, October 7, 2016 33 / 63

Page 34: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

Dynamic web pages (client side)

Client side: Dynamic HTML (DHTML)

Works with the Document Object Model (DOM)

Executes ECMAscript (standard) programsJavaScript (Netscape), JScript (Microsoft)

Other client side techniquesAJAX (Asynchronous Javascript and XML) for interactive web pagesApplets (JVM) or ActiveX controlsFlash, Silverlight, HTML5

Karst Koymans (UvA) WWW Friday, October 7, 2016 34 / 63

Page 35: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

ECMAScript engines (20151005)

.ECMAScript engines..

......

SpiderMonkey/TraceMonkey (Firefox, Seamonkey)

KJS (Konqueror)JavaScriptCore/SquirrelFish/Nitro (Apple Safari)

V8 (Google Chrome, Opera)

Chakra (JScript) (Microsoft Internet Explorer 9)

Chakra (JavaScript) (Microsoft Edge)

Futhark/Carakan (Opera – discontinued –)

Karst Koymans (UvA) WWW Friday, October 7, 2016 35 / 63

Page 36: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

Document Object Model

An ongoing W3C/WHATWG activityfor standardizing Dynamic HTML

Level 0: proprietary API for HTML (XML) documentsrefers to what existed before the standardization

Level 1: standardized API for HTML (XML) documentsLevel 2: modularized with support for events and stylesLevel 3: support for loading and saving and for keyboard eventsLevel 4: DOM4 working draft (July 2014)

Now part of the “DOM Living Specification”Also see https://dom.spec.whatwg.org/

Work now integrated with HTML5 effortKarst Koymans (UvA) WWW Friday, October 7, 2016 36 / 63

Page 37: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

More interaction (1)

XmlHttpRequest (XHR)Javascript API to send requests to serversUsed by the Ajax web development techniqueResponse is integrated into the current web page

without rendering the complete page again

Response can be XML, but also

JSONHTML. . .

Karst Koymans (UvA) WWW Friday, October 7, 2016 37 / 63

Page 38: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Dynamic content

More interaction (2)

WebsocketsGeneral mechanism to upgrade an existing TCP connectionto multiple full-duplex connectionsUses the “Upgrade:”1 HTTP header mechanism as handshakeDefines the “ws:” and “wss:” schemesUses an “allowed-origin” policy for securityby including an “Origin:” header

HTTP/2 defines a similar mechanism to establish

multiplexed connections over the same TCP link1Originally meant to upgrade http to https, just like STARTTLS for mail

Karst Koymans (UvA) WWW Friday, October 7, 2016 38 / 63

Page 39: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

URI, URL, URN

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 39 / 63

Page 40: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

URI, URL, URN

Uniform Resource Identifiers (RFC 3986)

A URI can have two formsA URL (Uniform Resource Locator)

https://www.os3.nl/

ftp://ftp.nluug.nl/pub/os/BSD/

Often identifies the location and access mechanism of the resource

A URN (Uniform Resource Name)

urn:<NID>:<NID-specific>

urn:ietf:rfc:2648

urn:isbn:0-97-606188-0

Gives a name to a resource in a certain namespace

Karst Koymans (UvA) WWW Friday, October 7, 2016 40 / 63

Page 41: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

URI, URL, URN

Uniform Resource Locators

<scheme>:<scheme-specific>

<scheme> is often some Internet protocolhttp, ftp, telnet, rtsp

<scheme-specific> often starts with “//” to indicate thatan Internet address (IP address or DNS domain name) follows

This is called the “authority” part

Other schemes: mailto, news

Karst Koymans (UvA) WWW Friday, October 7, 2016 41 / 63

Page 42: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

URI, URL, URN

HTTP URLs

<scheme>":" <hierarchy-indicator>http://

<authority>[<userinfo>"@"] <host>[":" <port>]

<path>either begins with “/” or is empty, see RFC 3986

"?" <query>gives extra parameters for identifying the resource

"#" <fragment>secondary (sub)resource, mostly used in URI-references2

2A URI reference is a “relative URI”, which has to be completed by softwareKarst Koymans (UvA) WWW Friday, October 7, 2016 42 / 63

Page 43: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 43 / 63

Page 44: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

HTTP/1.1

RFCs 7230-7235

Uses <CR><LF> as end of line convention

HTTP request/responserequest/response linerequest/response headersempty lineoptional body

Karst Koymans (UvA) WWW Friday, October 7, 2016 44 / 63

Page 45: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

HTTP/1.1 request

<method> <path3> <HTTP-version>

GET (to get/load a resource)HEAD (to fetch only the headers)PUT (to store a resource)POST (to provide input in the body to server side scripts)DELETE (to delete a resource)OPTIONS (to query the server options)

3The path may include a query, but no fragmentKarst Koymans (UvA) WWW Friday, October 7, 2016 45 / 63

Page 46: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

HTTP/1.1 response

<HTTP-version> <status-code> <comment>HTTP/1.1 200 OKHTTP/1.1 301 Moved PermanentlyHTTP/1.1 400 Bad RequestHTTP/1.1 404 Not FoundHTTP/1.1 501 Method Not Implemented

Karst Koymans (UvA) WWW Friday, October 7, 2016 46 / 63

Page 47: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

HTTP/1.1 request headers

User-Agent: <client identification>

Host: <(virtual) server name>

Cookie: <stored user tracking information>

Date: <date/time message sent>

Authorization: <credentials>

. . . many more. . .

Karst Koymans (UvA) WWW Friday, October 7, 2016 47 / 63

Page 48: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

HTTP/1.1 response headers

Content-Type: <MIME type>

Content-Length: <page length in bytes>

Last-Modified: <date of last page change>

Set-Cookie: <string to keep state>

Location: <redirection information>

. . . many more. . .

Karst Koymans (UvA) WWW Friday, October 7, 2016 48 / 63

Page 49: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Protocol

HTTP/2

Based on SPDY

Defined in RFC 7540

Improves efficiency and uses multiplexed streams

Has flow control and prioritization

Implements server push modeStarts out as a normal http(s) connection

Uses “Upgrade: h2c” for http connectionsUses ALPN (Application-Layer Protocol Negotiation)TLS extension (RFC 7301) for https connectionswith the “h2” protocol identifier

Karst Koymans (UvA) WWW Friday, October 7, 2016 49 / 63

Page 50: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 50 / 63

Page 51: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

Markup

SGML XML

HTML XHTML

Karst Koymans (UvA) WWW Friday, October 7, 2016 51 / 63

Page 52: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

SGML

Standard Generalized Markup Language<!DOCTYPE . . . >

<!ELEMENT . . . >

<!ATTLIST . . . >

<!ENTITY . . . >

DTD: Document Type Definition

Karst Koymans (UvA) WWW Friday, October 7, 2016 52 / 63

Page 53: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

HTML

Instantiation of SGML<!DOCTYPE HTML PUBLIC

“-/W3C/DTD HTML 4.01//EN”http://www.w3.org/TR/html4/strict.dtd

>

All else is bogus: <BLINK>, . . .

Karst Koymans (UvA) WWW Friday, October 7, 2016 53 / 63

Page 54: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

XML

Simpler reformulation of SGML

Some differencesEvery start tag must have a close tagAttribute values must always be quoted<?xml . . . > processing instructions reserved. . .

Karst Koymans (UvA) WWW Friday, October 7, 2016 54 / 63

Page 55: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

XHTML

XML specification of HTML, which still needs a DTDhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

The DTD can be replaced by an XML Schema instancehttp://www.w3.org/TR/xhtml1-schema/#xhtml1-strict

making all syntax XML based

XML Schema is also referred to as WXS (W3C XML Schema)

or XSD (XML Schema Definition)

There are other XML schemata like RELAX NG or Schematron

Karst Koymans (UvA) WWW Friday, October 7, 2016 55 / 63

Page 56: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

W3C activities

See http://www.w3.org/

HTML, XML, XHTMLCSS, XSLRDF, Semantic WebXML SchemaSOAP, Web ServicesAccessibility, Internationalization (I18N)

Karst Koymans (UvA) WWW Friday, October 7, 2016 56 / 63

Page 57: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

CSS, XSL

Cascading Style Sheets (CSS1, CSS2, CSS3, CSS4, . . . )Starting with CSS3 the specification is modular

Extensible Stylesheet Language (XSL)XSL Transformations (XSLT)XSL Formatting Objects (XSL-FO)XML Path Language (XPath)

Karst Koymans (UvA) WWW Friday, October 7, 2016 57 / 63

Page 58: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

RDF (1)

Resource Description Framework

Metadata

Semantic Web“Web 3.0”KnowledgeMachine readable informationReinventing Mathematical Logic (?)

Karst Koymans (UvA) WWW Friday, October 7, 2016 58 / 63

Page 59: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

RDF (2)

Example from UvA/SNE researchNDL (Network Description Language)http://www.science.uva.nl/research/sne/ndl/

Karst Koymans (UvA) WWW Friday, October 7, 2016 59 / 63

Page 60: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Markup (a quick recap from Essential Skills)

XML Schema

Replacement for an SGML DTD

Is written itself in XML syntax

Has support for built-in datatypes

Karst Koymans (UvA) WWW Friday, October 7, 2016 60 / 63

Page 61: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Hybrids (the way forward ?!)

Outline

...1 WWW history

...2 Basic concepts

...3 Client side

...4 Server side

...5 Dynamic content

...6 URI, URL, URN

...7 Protocol

...8 Markup (a quick recap from Essential Skills)

...9 Hybrids (the way forward ?!)

Karst Koymans (UvA) WWW Friday, October 7, 2016 61 / 63

Page 62: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Hybrids (the way forward ?!)

HTML5 (1)

Tries to address “web applications”Typical example is Adobe Flash

Returns to HTML as a basis, but improves and extends itIntroduces new tags, for instance

<nav>

<video>, <audio>

<canvas>, <figure>

Promoted by the WHATWG (Apple, Mozilla, Opera)Web Hypertext Application Technology Working GroupAlso W3C now has its own HTML5 specification

Karst Koymans (UvA) WWW Friday, October 7, 2016 62 / 63

Page 63: World Wide Web Aka “The Internet” · World Wide Web Aka “The Internet” Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC)

Hybrids (the way forward ?!)

HTML5 (2)

HTML5 builds upon and is backward compatible withHTML4XHTML1DOM Level 2

HTML5’s use of DOCTYPEs<!DOCTYPE html>

<!DOCTYPE html SYSTEM "about:legacy-compat">

Revival of “Tag soup”But with standardized error handling

Karst Koymans (UvA) WWW Friday, October 7, 2016 63 / 63