Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

Similar documents
Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

World Wide Web Aka The Internet. Karst Koymans. Friday, October 7, 2016

WWW. World Wide Web aka The Internet. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.8, 2018/10/16 12:20:12 UTC)

Web Standards Mastering HTML5, CSS3, and XML

Web Systems & Technologies: An Introduction

Web Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes

Web Systems & Technologies: An Introduction

The World Wide Web. Internet

Introduction. WWW history. Application concepts, WWW and HTTP Perspectives on (mobile) communications. Fredrik Alstorp Torbjörn Söderberg

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

KINGS COLLEGE OF ENGINEERING 1

Shankersinh Vaghela Bapu Institue of Technology

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web

Programming the World Wide Web by Robert W. Sebesta

CS WEB TECHNOLOGY

World Wide Web. Before WWW

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

World Wide Web. World Wide Web - how it works. WWW usage requires a combination of standards and protocols DHCP TCP/IP DNS HTTP HTML MIME

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Web Programming Paper Solution (Chapter wise)

ECE 435 Network Engineering Lecture 3

WWW Document Technologies

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Web Engineering (CC 552)

Programming the Web 06CS73 INTRODUCTION AND OVERVIEW. Dr. Kavi Mahesh, PESIT, Bangalore. Textbook: Programming the World Wide Web

HTML5 MOCK TEST HTML5 MOCK TEST I

UR what? ! URI: Uniform Resource Identifier. " Uniquely identifies a data entity " Obeys a specific syntax " schemename:specificstuff

Contents 1 INTRODUCTION TO COMPUTER NETWORKS...

powered by Series of Tubes Senator Ted Stevens talking about the Net Neutrality Bill Jul 17, powered by

Semantic Web Lecture Part 1. Prof. Do van Thanh

1.1 A Brief Intro to the Internet

Web Glossary. Web Design One Columbia College, Chicago, Debra Kayes

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

1.1 A Brief Intro to the Internet

ECE 435 Network Engineering Lecture 3

1.1 A Brief Intro to the Internet

Global Servers. The new masters

CPET 581 E-Commerce & Business Technologies. Topics

Languages in WEB. E-Business Technologies. Summer Semester Submitted to. Prof. Dr. Eduard Heindl. Prepared by

Web browser architecture

EEC-682/782 Computer Networks I

Inf 202 Introduction to Data and Databases (Spring 2010)

Web Architecture and Technologies

Web Standards. Web Technologies. Web Standards. URI and URL

José Luis Fuertes / Loïc Martínez Normand Computer Science School. Technical University of Madrid.

AIM. 10 September

CIS 408 Internet Computing. Dr. Sunnie Chung Dept. of Electrical Engineering and Computer Science Cleveland State University

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

= a hypertext system which is accessible via internet

Developing Web Applications

HTML: Introduction CISC 282. September 11, What is HTML?

CS144 Notes: Web Standards

Agenda. INTRODUCTION TO WEB DEVELOPMENT AND HTML <Lecture 1> 1/20/2013. What is a Web Developer? Rommel Anthony Palomino Spring

Web Design. Basic Concepts

Lesson 12: JavaScript and AJAX

HTML, XHTML, and CSS. Sixth Edition. Chapter 1. Introduction to HTML, XHTML, and

XML. Jonathan Geisler. April 18, 2008

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

CSCI-1680 WWW Rodrigo Fonseca

CSC 551: Web Programming. Spring 2004

WEB TECHNOLOGIES CHAPTER 1

CS6501 IP Unit IV Page 1

Lecture Overview. IN5290 Ethical Hacking. Lecture 4: Web hacking 1, Client side bypass, Tampering data, Brute-forcing

IT6503 WEB PROGRAMMING. Unit-I


Chapter 10 Web-based Information Systems

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Alpha College of Engineering and Technology. Question Bank

Chapter 10: Web Application Development. Informatics Practices Class XII. By- Rajesh Kumar Mishra. KV No.1, AFS, Suratgarh

Web Design E M I R R A H A M A N WEB DESIGN SIDES 2017 EMIR RAHAMAN 1

Internet Standards for the Web: Part II

CSCI-1680 WWW Rodrigo Fonseca

Obsoletes: 2070, 1980, 1942, 1867, 1866 Category: Informational June 2000

Time: 3 hours. Full Marks: 70. The figures in the margin indicate full marks. Answer from all the Groups as directed. Group A.


HTML: The Basics & Block Elements

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Unit 4 The Web. Computer Concepts Unit Contents. 4 Web Overview. 4 Section A: Web Basics. 4 Evolution

EasyChair Preprint. Introduction to Development of Software Support for Training and Testing IT Administrators

Acknowledgments... xix

Web Design and Development ACS-1809

HTTP. Web. Web Web web

Basics of Web. First published on 3 July 2012 This is the 7 h Revised edition

CTI Higher Certificate in Information Systems (Internet Development)

XML Metadata Standards and Topic Maps

Chapter 11 Program Development and Programming Languages

Web Information System Design. Tatsuya Hagino

~ Ian Hunneybell: DIA Revision Notes ~

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Traditional Web Based Systems

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

Distributed Systems 1

A network is a group of two or more computers that are connected to share resources and information.

Agenda. XML Generics. XML for Java Developers G Session 1 - Main Theme Markup Language Technologies (Part I)

Structured documents

CS631 - Advanced Programming in the UNIX Environment

Index. Symbols and Numbers

Chapter 1 Introduction to HTML, XHTML, and CSS

Collection of (1) Meta-network. Uses a standard set of protocols Also uses standards for structuring the information transferred

Current Web Development

Transcription:

Table of Contents WWW World Wide Web Aka The Internet Karst Koymans Informatics Institute University of Amsterdam (version 44, 2014/10/06 11:35:56 UTC) Tuesday, October 7, 2014 WWW history Basic concepts Client side Server side Dynamic content URI, URL, URN Protocol Markup (a quick recap from Essential Skills) Hybrids (the way forward?!) WWW history (1) WWW history (2) 1968 Doug Engelbart Earlier than ARPANET or UNIX Inventor of the mouse and of hypermedia and of videoconferencing 1989 Tim Berners Lee 20 years after Engelbart First 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

WWW history (3) WWW history (4) More browsers 1992 Line mode browser 11 ViolaWWW browser for X Windows 1993 Mosaic for X Windows (Marc Andreessen, founder of Netscape) 1994 Mozilla (Netscape) W3C founded (MIT, INRIA, Keio) In 2003 ERCIM took the place of INRIA In 2012 http://wwwwebplatformorg/ was convened with an invalid certificate (20131003) for https In 2013 Beihang University (China) was invited to join hosting W3C 1995 Microsoft launches Internet Explorer Start of the Browser Wars WWW history (5) WWW concepts Standards based browsers and layout engines Gecko (Firefox, Seamonkey, Netscape) KHTML (Konqueror) WebKit/WebCore (Apple Safari, Google Chrome) Blink derived from WebCore (Chrome, Chromium, Opera) Trident (Microsoft Internet Explorer proprietary 1 ) Presto (Opera proprietary 2 ) 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) 1 freely available 2 freely and commercially available

Browser Web server Client making requests for web pages Interface for the user Graphical User Interface IE, Safari, Firefox, Opera, Chrome, Chromium, Terminal based lynx, links, w3m, Server responding to requests NCSA HTTPd, Apache HTTP Server Internet Information Services (IIS, Microsoft) Sun Java System Web Server (Sun ONE, iplanet) Partly open sourced (Open Web Server) Looks for information in or via files, databases, scripts locally or remote See also http://wwwnetcraftcom/ Lesser known or more recent web servers Netcraft survey October 2006 nginx ( engine X ) also reverse proxy and load balancer high performance Google Web Server (GWS) Google custom (mystery?) web server also runs Blogger, Google Docs, lighttpd ( lighty ) lightweight optimised for speed qqcom Chinese IM and blog service (mostly private now)

Netcraft survey November 2007 Netcraft survey September 2008 Netcraft survey September 2009 Netcraft survey September 2010

Netcraft survey September 2011 Netcraft survey December 2012 (active sites) Netcraft survey October 2013 (all sites) Netcraft survey September 2014 (all sites)

Netcraft survey September 2014 (active sites) 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) LAMP model Dynamic web pages (client side) (L)inux as underlying OS (A)pache as presentation layer (M)ySQL as data layer (P)HP as business logic layer Some people use (P)erl and/or (P)ython Client side: Dynamic HTML (DHTML) Works with the Document Object Model (DOM) Executes ECMAscript (standard) programs JavaScript (Netscape), JScript (Microsoft) Other client side techniques AJAX (Asynchronous Javascript and XML) for interactive web pages Applets (JVM) or ActiveX controls Flash, Silverlight, HTML5

ECMAScript engines Dynamic web pages (server side) ECMAScript engines SpiderMonkey/TraceMonkey (Firefox, Seamonkey) KJS (Konqueror) JavaScriptCore/SquirrelFish/Nitro (Apple Safari) V8 (Google Chrome) Chakra (Microsoft Internet Explorer 9, a JScript engine) Futhark/Carakan (Opera) 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 applications ASPNET: successor of ASP, part of the NET framework Document Object Model Uniform Resource Identifiers (RFC 3986) An ongoing W3C activity for standardizing Dynamic HTML Level 0: proprietary API for HTML (XML) documents refers to what existed before the standardization Level 1: standardized API for HTML (XML) documents Level 2: modularized with support for events and styles Level 3: support for loading and saving and for keyboard events Level 4: DOM4 working draft (July 2014) Now part of the DOM Living Specification Work now integrated with HTML5 effort A URI can have two forms A URL (Uniform Resource Locator) https://wwwos3nl/ ftp://ftpnluugnl/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

Uniform Resource Locators HTTP URLs <scheme>:<scheme-specific> <scheme> is often some Internet protocol http, ftp, telnet, rtsp <scheme-specific> often starts with // to indicate that an Internet address (IP address or DNS domain name) follows Other schemes: mailto, news <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-references 3 3 A URI reference is a relative URI, which has to be completed by software HTTP HTTP request Uses <CR><LF> as end of line convention HTTP request/response request/response line request/response headers empty line optional body <method> <path 4 > <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) 4 The path may include a query, but no fragment

HTTP response Request headers <HTTP-version> <status-code> <comment> HTTP/11 200 OK HTTP/11 301 Moved Permanently HTTP/11 400 Bad Request HTTP/11 404 Not Found HTTP/11 501 Method Not Implemented User-Agent: <client identification> Host: <(virtual) server name> Cookie: <stored user tracking information> Date: <date/time message sent> Authorization: <credentials> many more Response headers Markup 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 SGML HTML XML XHTML

SGML HTML Standard Generalized Markup Language <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY > DTD: Document Type Definition Instantiation of SGML <!DOCTYPE HTML PUBLIC -/W3C/DTD HTML 401//EN http://wwww3org/tr/html4/strictdtd > All else is bogus: <BLINK>, XML XHTML Simpler reformulation of SGML Some differences Every start tag must have a close tag Attribute values must always be quoted <?xml > processing instructions reserved XML specification of HTML Still needs a DTD http://wwww3org/tr/xhtml1/dtd/xhtml1-strictdtd The DTD will be replaced (?) by an XML Schema http://wwww3org/tr/xhtml1-schema/#xhtml1-strict making all syntax XML based

W3C activities CSS, XSL See http://wwww3org/ CSS, XSL RDF, Semantic Web XML Schema SOAP, Web Services Accessibility, Internationalization (I18N) 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) RDF (1) RDF (2) Resource Description Framework Metadata Semantic Web Web 30 Knowledge Machine readable information Reinventing Mathematical Logic (?) Example from UvA/SNE research NDL (Network Description Language) http://wwwscienceuvanl/research/sne/ndl/

XML Schema HTML5 (1) Replacement for an SGML DTD Is written itself in XML syntax Has support for built-in datatypes Tries to address web applications Typical example is Adobe Flash Returns to HTML as a basis, improves and extends it Introduces new tags, for instance <nav> <video>, <audio> <canvas>, <figure> Promoted by the WHATWG (Apple, Mozilla, Opera) Web Hypertext Application Technology Working Group Also W3C now has its own HTML5 specification HTML5 (2) HTML5 builds upon and is backward compatible with HTML4 XHTML1 DOM Level 2 HTML5 s use of DOCTYPEs <!DOCTYPE html> <!DOCTYPE html SYSTEM "about:legacy-compat"> Revival of Tag soup But with standardized error handling