world wide web aka “the internet” · world wide web aka “the internet” karst koymans...
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/1.jpg)
.
......
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/2.jpg)
...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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/3.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/4.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/5.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/6.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/7.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/8.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/9.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/10.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/11.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/12.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/13.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/14.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/15.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/16.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/17.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/18.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/19.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/20.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/21.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/22.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/23.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/24.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/25.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/26.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/27.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/28.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/29.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/30.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/31.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/32.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/33.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/34.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/35.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/36.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/37.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/38.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/39.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/40.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/41.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/42.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/43.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/44.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/45.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/46.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/47.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/48.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/49.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/50.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/51.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/52.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/53.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/54.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/55.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/56.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/57.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/58.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/59.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/60.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/61.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/62.jpg)
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)](https://reader034.vdocuments.us/reader034/viewer/2022042314/5f01b8017e708231d400b51e/html5/thumbnails/63.jpg)
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