Introduction to: The Architecture of the World Wide Web

Slides:



Advertisements
Similar presentations
The Internet and the Web
Advertisements

Copyright 2012 & 2015 – Noah Mendelsohn A Brief Introduction to Requests for Comments – The Specifications for the Internet Noah Mendelsohn Tufts University.
 To publish information for global distribution, one needs a universally understood language, a kind of publishing mother tongue that all computers may.
1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden.
HTTP By Mychal Hess, Dee Chow, and Riley Barnes. History HTTP  Tim Berners-Lee he implemented the HTTP protocol in 1990 at the European Center for High-
HTTP & REST Noah Mendelsohn Tufts University Web: COMP 150-IDS: Internet Scale.
Web Architecture Dr. Frank McCown Intro to Web Science Harding University This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike.
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 1: Introduction to Web
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Copyright 2012 & 2015 – Noah Mendelsohn Introduction to: The Architecture of the World Wide Web Noah Mendelsohn Tufts University
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 7 TH EDITION Chapter 1 Key Concepts 1.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Copyright 2012 & 2015 – Noah Mendelsohn Metcalfe’s Law : Why is the Web so Big? Noah Mendelsohn Tufts University
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Web Technologies Lecture 1 The Internet and HTTP.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
JavaScript and Ajax (Internet Background) Week 1 Web site:
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
Introduction to the World Wide Web & Internet CIS 101.
The Internet Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Website Design and Construction Services and Standards.
National College of Science & Information Technology.
The World Wide Web.
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2017)
Hypertext Transfer Protocol
Block 5: An application layer protocol: HTTP
HTTP – An overview.
The Hypertext Transfer Protocol
JavaScript and Ajax (Internet Background)
Web Development Web Servers.
Introduction to: The Architecture of the World Wide Web
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2017)
1993 version of Mosaic browser.
CNIT 131 Internet Basics & Beginning HTML
COMP2322 Lab 2 HTTP Steven Lee Feb. 8, 2017.
Sec (4.3) The World Wide Web.
E-commerce | WWW World Wide Web - Concepts
Hypertext Transfer Protocol
E-commerce | WWW World Wide Web - Concepts
CASE STUDY -HTML,URLs,HTTP
Introduction Web Environments
HTTP Protocol.
Internet Programming.
Tutorial (4): HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
IS333D: MULTI-TIER APPLICATION DEVELOPMENT
WEB API.
1 Introduction to the Internet.
Introduction to: The Architecture of the World Wide Web
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016)
Metcalfe’s Law : Why is the Web so Big?
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
EE 122: HyperText Transfer Protocol (HTTP)
Hypertext Transfer Protocol (HTTP)
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016)
PART 6 Application Layer
Introduction to World Wide Web
CIS 133 mashup Javascript, jQuery and XML
Web Server Design Week 5 Old Dominion University
An Introduction to the Internet and the Web
[Robert W. Sebesta, “Programming the World Wide Web
CSCI-351 Data communication and Networks
Presentation transcript:

Introduction to: The Architecture of the World Wide Web COMP 117: Internet Scale Distributed Systems (Spring 2018) Introduction to: The Architecture of the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

What you should get from this session You should understand at a high level the three pillars of Web Architecture You should understand what happens when a Web page is retrieved using HTTP You should know to refer to the TAG’s “Architecture of the World Wide Web” for more information You should understand the difference between open standards and open source, and why both are important to the Web

History

Early History of the Web Started out as a system for distributing documents written by scientists at the CERN physics lab in Switerzland – initial proposal in 1989 A chance to realize Tim Berners-Lee’s vision: a system for integrating all the world’s information! August 6, 1991: announcement and early code made available along with a server you could access (Tim’s server computer, Browser screen , Line Mode Browser) Others start writing code that complies with Web protocols (HTTP) and document formats (HTML) Mosaic browser provides first widely available graphical interface April 1993: Tim convinces CERN to give away the Web’s technology and code

Goals and requirements for the Web Integrate all of the world’s online information Integrate with other systems The Web is implemented on systems ranging from mainframes to traffic lights Allow references (URIs) to be: Memorable Conveyed in other systems (like the links in this slide show!) Written “on the side of a bus” Broken! Explorable – random browsing should work, and should do no harm Support all users, regardless of location, spoken language or disability Extensible to new types of content, new devices, new modalities of interaction, etc. Open: content, naming and extensions should not require concurrence of a central authority Safe to use: e.g. should not unduly compromise your privacy Provide non-discriminatory access

Web Architecture Basics

Demonstration: http://webarch. noahdemo. com/demo1/test Demonstration: http://webarch.noahdemo.com/demo1/test.html A simple Web page retrieval

Architecting a universal Web Identification: URIs Interaction: HTTP Data formats: HTML, JPEG, GIF, etc.

The user clicks on a link URI is http://webarch.noahdemo.com/demo1/test.html URI is http://webarch.noahdemo.com/demo1/test.html

The http “scheme” tells client to send HTTP GET msg URI is http://webarch.noahdemo.com/demo1/test.html URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET

The server is identified by DNS name in the URI URI is http://webarch.noahdemo.com/demo1/test.html URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET Host: webarch.noahdemo.com

The client sends an HTTP GET URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET demo1/test.html GET /demo1/test.html HTTP/1.0 Host: webarch.noahdemo.com User-Agent: Noahs Demo HttpClient v1.0 Accept: */* Accept-language: en-us Host: webarch.noahdemo.com

The server sends an HTTP Response HTTP/1.1 200 OK Date: Tue, 28 Aug 2007 01:49:33 GMT Server: Apache Transfer-Encoding: chunked Content-Type: text/html <html> <head> <title>Demo #1</title> </head> <body> <h1>A very simple Web page</h1> </body> </html> The server sends an HTTP Response HTTP GET HTTP Status Code 200 Means Success! demo1/test.html Host: webarch.noahdemo.com HTTP RESPONSE

The server sends an HTTP Response HTTP/1.1 200 OK Date: Tue, 28 Aug 2007 01:49:33 GMT Server: Apache Transfer-Encoding: chunked Content-Type: text/html <html> <head> <title>Demo #1</title> </head> <body> <h1>A very simple Web page</h1> </body> </html> The server sends an HTTP Response HTTP GET demo1/test.html The “representation” returned is an HTML document Host: webarch.noahdemo.com HTTP RESPONSE

The server sends an HTTP Response HTTP/1.1 200 OK Date: Tue, 28 Aug 2007 01:49:33 GMT Server: Apache Transfer-Encoding: chunked Content-Type: text/html <html> <head> <title>Demo #1</title> </head> <body> <h1>A very simple Web page</h1> </body> </html> The server sends an HTTP Response HTTP GET demo1/test.html Host: webarch.noahdemo.com The HTML for the page. HTTP RESPONSE

Three pillars of Web Architecture URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET Identification with URIs demo1/test.html Host: webarch.noahdemo.com HTTP RESPONSE

Interaction Using HTTP Three pillars of Web Architecture URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET demo1/test.html Interaction Using HTTP Host: webarch.noahdemo.com HTTP RESPONSE

Representations using media types like text/html, image/jpeg, etc Three pillars of Web Architecture Representations using media types like text/html, image/jpeg, etc URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET HTTP/1.1 200 OK Date: Tue, 28 Aug 2007 01:49:33 GMT Server: Apache Transfer-Encoding: chunked Content-Type: text/html <!DOCTYPE html> <html> <head> <title>Demo #1</title> </head> <body> <h1>A very simple Web page</h1> </body> </html> demo1/test.html Host: webarch.noahdemo.com HTTP RESPONSE

Architecting a universal Web Identification: URIs Interaction: HTTP Data formats: HTML, JPEG, GIF, etc. Suggested Reading: The Architecture of the World Wide Web http://www.w3.org/TR/webarch/

Why the Experts Knew It Wouldn’t Work

The Famous Poster Session – Hypermedia ‘91 Mark Frisse, now of Vanderbilt University, was one of the reviewers of Tim Berners-Lee's original paper presenting the concepts behind the World Wide Web in 1989. Mark describes how he thought that the architecture would not scale, and that Tim's decision to allow "broken" pointers (i.e. violate bidirectional integrity) would lead to a "spaghetti bowl of gotos.“ Tim's paper was relegated to a poster session, which turned out to be wildly successful. Tim's decision to relax the requirement for bidirectional integrity (allowing 404 not found error) turned out to be one key features for the success of the web.  Video: https://archive.org/details/Munnecke-MarkFrissesMessageToTimBernersLee313

Open Standards and Open Source

Open protocol and format standards URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET demo1/test.html Host: webarch.noahdemo.com HTTP RESPONSE

Open protocol and format standards URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET demo1/test.html Host: webarch.noahdemo.com Open Standards protocols and formats: client doesn’t see resource/server details HTTP RESPONSE

Open protocol and format standards URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET demo1/test.html Host: webarch.noahdemo.com Open Standards protocols and formats: server supports any client HTTP RESPONSE

Open Standards protocols and formats: server supports any client Open source software URI is http://webarch.noahdemo.com/demo1/test.html HTTP GET Apache? Firefox? demo1/test.html Host: webarch.noahdemo.com Open Standards protocols and formats: server supports any client Open Software sometimes useful for implementing servers or clients – promotes open standards protocols and formats: server supports any client HTTP RESPONSE