COMP 150-IDS: Internet Scale Distributed Systems (Spring 2017) URIs and RFC 3986

Size: px
Start display at page:

Download "COMP 150-IDS: Internet Scale Distributed Systems (Spring 2017) URIs and RFC 3986"

Transcription

1 COMP 150-IDS: Internet Scale Distributed Systems (Spring 2017) URIs and RFC 3986 Noah Mendelsohn Tufts University Web: Copyright: 2012, 2013, 2015, 2016 & 2017 Noah Mendelsohn

2 Goals What is named when we use the Web Learn the detailed design of URIs See how the naming principles we ve explored are reflected in Web architecture and URIs Learn to read RFCs and to study the art of writing specifications Understand why grammars are important 2

3 Review: Naming Questions 3

4 Some characteristics of names Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too few names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

5 Review Web Architecture Basics

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

7 What Happens When We Browse a Web Page? Consider: What are all the things that are named in the interaction between browser and Web Server?

8 The user clicks on a link URI is

9 The http scheme tells client to send HTTP GET msg URI is HTTP GET

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

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

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

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

14 Assign URIs for all Resources A resource is something that has information (e.g. a Web page) If a resource doesn t have a URI, you can t link to it it s not part of the Web.

15 The Structure of URIs 16

16 A simple URI

17 A simple URI

18 A simple URI Scheme

19 Schemes Scheme Schemes let us name different kinds of things, accessed in different ways.

20 A simple URI Authority Authority: who controls allocation of this name?

21 A simple URI // Fixed in grammar to indicate authority follows

22 A simple URI // Fixed in grammar to indicate authority follows Tim BL was asked if he had any regrets about the Web Mr. Berners-Lee smiled and admitted he might make one change a small one. He would get rid of the double slash // after the http: in Web addresses. The double slash, though a programming convention at the time, turned out to not be really necessary, Mr. Berners-Lee explained. Look at all the paper and trees, he said, that could have been saved if people had not had to write or type out those slashes on paper over the years not to mention the human labor and time spent typing those two keystrokes countless millions of times in browser address boxes. (Today s browsers, of course, automatically fill in the preamble when a user types a Web address.) From:

23 A simple URI Path Path: provides for hierarchical naming also supports../xxx relative syntax

24 A simple URI Path Path: provides for hierarchical naming maps well to hierarchical information systems

25 A more complex URI

26 A more complex URI Query component The query is part of the URI... However, in many cases, all URIs with a common path are processed by the same server-side code Also HTML forms are useful for filling in the query components

27 Fragments Fragments identify parts of documents Fragment interpretation depends on the media type of the returned representation (text/html) this is useful but tricky and causes a variety of problems.

28 Characteristics of URIs 29

29 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

30 Some characteristics of URIs Both supported Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

31 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Depends on scheme Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

32 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Yes URIs on the side of a bus is an important goal Opaque vs. data-carrying? but some URIs are complex Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

33 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Allowed but not required Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

34 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) With most schemes, absolute URIs are global Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

35 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) FILE: scheme is not global! Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

36 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) NO!! Status code 404 is key to Web scalability Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

37 Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Some aliases required e.g.: http vs. HTTP worst cases depend on users Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

38 Depends on scheme and user see Metadata in URI finding Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

39 URIs are the structuring mechanism for the Web as a whole Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

40 Designed to allow mappings to hierarchical systems Some characteristics of URIs Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

41 Some characteristics of URIs Decentralized allocation except: Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

42 Some characteristics of URIs scheme names centrally registered with IANA Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

43 Some characteristics of URIs For http and mailto schemes: central Domain Name (DNS) registration Absolute vs. relative required for authority Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

44 Some characteristics of URIs Yes. E.g.: ASCII-only, spaces and some punctuation must be %encoded Absolute vs. relative Address (locator)? Human readable? Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

45 Some characteristics of URIs Absolute vs. relative URIs are silent on this but HTTP Address (locator)? redirection provides for indirect Human readable? identification Short/convenient? Global (context independent)? Ensures referent exists? Aliases? (too many names) Opaque vs. data-carrying? Reflect structure of system? Supports navigation: e.g...? Who can generate them? Constraints from environment E.g. no - in C/C++ variable names Indirect identification allowed?

46 Grammars 47

47 What are formal grammars? Grammars are formal languages for specifying other languages A grammar allows you to: Always: determine whether a given string is in the specified language Often: associate structures in the grammar with parts of the string The Chomsky hierarchy: Different grammars have different expressive power Regular expressions recognize regular languages (ab*) a, ab, abb, abbb Context-free grammars are more powerful: typically used for programming languages The ABNF used in RFC s is a context-free grammar Context-free grammars can be recognized (parsed) by a finite-state pushdown automaton Tutorial at:

48 Why use formal grammars for specifying languages? Precise and rigorous Less ambiguous than an explanation in English Membership of a string in a language can be checked automatically Tools to process the language can often be constructed automatically from the grammar

49 ABNF: the grammar for IETF RFCs ABNF example from RFC 3986: URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] ABNF is itself specified in RFC 2234 ABNF is convenient to use in fixed-font specification documents like RFCs

50 Summary 51

51 Summary The structure and interpretation of URIs is set out in RFC 3986 URIs embody many of the principles we have studied Formal grammars are powerful tools for specifying names The design decisions embodied in URIs are keys to the success of the Web!!

Naming System Design Tradeoffs

Naming System Design Tradeoffs COMP 117: Internet Scale Distributed Systems (Spring 2018) Naming System Design Tradeoffs Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright: 2012, 2013,

More information

Document Architecture: HTML & CSS

Document Architecture: HTML & CSS COMP 150-IDS: Internet Scale Distributed Systems (Spring 2018) Document Architecture: HTML & CSS Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright 2012,

More information

Announcements Fawzi Emad, Computer Science Department, UMCP

Announcements Fawzi Emad, Computer Science Department, UMCP Announcements You must come to lecture for which you are registered! If you are going to be routinely late (or leave early) please try to adjust your class schedule. Look over class webpage Lectures slides

More information

Announcements Fawzi Emad, Computer Science Department, UMCP

Announcements Fawzi Emad, Computer Science Department, UMCP Announcements Look over class webpage Lectures slides are being posted TA Office hours will start next week Make sure you are downloading Komodo Edit and not Komodo IDE 1 Very Brief History of The Internet

More information

Versioning, Extensibility & Postel s Law

Versioning, Extensibility & Postel s Law COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) Versioning, Extensibility & Postel s Law Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright

More information

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

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key

More information

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

HTTP Reading: Section and COS 461: Computer Networks Spring 2013 HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

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

UR what? ! URI: Uniform Resource Identifier.  Uniquely identifies a data entity  Obeys a specific syntax  schemename:specificstuff CS314-29 Web Protocols URI, URN, URL Internationalisation Role of HTML and XML HTTP and HTTPS interacting via the Web UR what? URI: Uniform Resource Identifier Uniquely identifies a data entity Obeys a

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

WEB TECHNOLOGIES CHAPTER 1

WEB TECHNOLOGIES CHAPTER 1 WEB TECHNOLOGIES CHAPTER 1 WEB ESSENTIALS: CLIENTS, SERVERS, AND COMMUNICATION Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson THE INTERNET Technical origin: ARPANET (late 1960

More information

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1 The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and

More information

CS4/MSc Computer Networking. Lecture 3: The Application Layer

CS4/MSc Computer Networking. Lecture 3: The Application Layer CS4/MSc Computer Networking Lecture 3: The Application Layer Computer Networking, Copyright University of Edinburgh 2005 Network Applications Examine a popular network application: Web Client-server architecture

More information

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

Chapter 3: Uniform Resource Identifiers References:

Chapter 3: Uniform Resource Identifiers References: 3. Uniform Resource Identifiers 3-1 Chapter 3: Uniform Resource Identifiers References: Erik Wilde: World Wide Web Technische Grundlagen (in German). Springer, 1999, ISBN 3-540-64700-7, 641 Seiten. NCSA

More information

2. Introduction to Internet Applications

2. Introduction to Internet Applications 2. Introduction to Internet Applications 1. Representation and Transfer 2. Web Protocols 3. Some Other Application Layer Protocols 4. Uniform Resource Identifiers (URIs) 5. Uniform Resource Locators (URLs)

More information

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts

More information

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

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

Obsoletes: 2070, 1980, 1942, 1867, 1866 Category: Informational June 2000 Network Working Group Request for Comments: 2854 Obsoletes: 2070, 1980, 1942, 1867, 1866 Category: Informational D. Connolly World Wide Web Consortium (W3C) L. Masinter AT&T June 2000 The text/html Media

More information

CSE 333 Lecture HTTP

CSE 333 Lecture HTTP CSE 333 Lecture 19 -- HTTP Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia Server-side programming exercise due Wed. morning HW4 due a week later - How s

More information

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2

More information

Application Protocols and HTTP

Application Protocols and HTTP Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due

More information

Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November 1999

Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November 1999 Network Working Group Request for Comments: 2718 Category: Informational L. Masinter Xerox Corporation H. Alvestrand Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November

More information

CSE 333 Lecture HTTP

CSE 333 Lecture HTTP CSE 333 Lecture 19 -- HTTP Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW4 due a week from Thursday - How s it look? Today: http; finish networking/web

More information

Introduction to TCP/IP

Introduction to TCP/IP COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) Introduction to TCP/IP Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright 2012, 2015 &

More information

Application Layer. Applications and application-layer protocols. Goals:

Application Layer. Applications and application-layer protocols. Goals: Application Layer Goals: Conceptual aspects of network application protocols Client paradigm Service models Learn about protocols by examining popular application-level protocols HTTP DNS 1 Applications

More information

Introduction to: The Architecture of the Internet

Introduction to: The Architecture of the Internet COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) Introduction to: The Architecture of the Internet Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

HyperText Transfer Protocol

HyperText Transfer Protocol Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which

More information

Metcalfe s Law : Why is the Web so Big?

Metcalfe s Law : Why is the Web so Big? COMP 117: Internet Scale Distributed Systems (Spring 2018) Metcalfe s Law : Why is the Web so Big? Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright

More information

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990:

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990: Systemprogrammering 2006 Föreläsning 9 Web Services Topics HTTP Serving static content Serving dynamic content 1945: 1989: Web History Vannevar Bush, As we may think, Atlantic Monthly, July, 1945. Describes

More information

C22: Browser & Web Server Communication

C22: Browser & Web Server Communication CISC 3120 C22: Browser & Web Server Communication Hui Chen Department of Computer & Information Science CUNY Brooklyn College 11/01/2017 CUNY Brooklyn College 1 Web Application Architecture Client apps

More information

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology.

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology. Networking INFO/CSE 100, Spring 2006 Fluency in Information Technology http://www.cs.washington.edu/100 Apr-3-06 networks @ university of washington 1 Readings and References Reading Fluency with Information

More information

Introduction to: The Architecture of the Internet

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

More information

Giving credit where credit is due

Giving credit where credit is due CSCE 230J Computer Organization Web Services Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant and O Hallaron,

More information

Uniform Resource Identifier (URI): Generic Syntax

Uniform Resource Identifier (URI): Generic Syntax Network Working Group Request for Comments: 3986 Obsoletes: 2732, 2396, 1808 STD: 66 Updates: 1738 Category: Standards Track T. Berners-Lee W3C/MIT R. Fielding Day Software L. Masinter Adobe Systems January

More information

Request for Comments: Obsoletes: 2732, 2396, January 2005

Request for Comments: Obsoletes: 2732, 2396, January 2005 Network Working Group Request for Comments: 3986 STD: 66 Updates: 1738 Obsoletes: 2732, 2396, 1808 Category: Standards Track T. Berners-Lee W3C/MIT R. Fielding Day Software L. Masinter Adobe Systems January

More information

3. Uniform Resource Identifiers 3-1

3. Uniform Resource Identifiers 3-1 3. Uniform Resource Identifiers 3-1 Chapter 3: Uniform Resource Identifiers References: Erik Wilde: World Wide Web Technische Grundlagen (in German). Springer, 1999, ISBN 3-540-64700-7, 641 Seiten. NCSA

More information

An HTTP-Based Versioning Mechanism for Linked Data. Presentation at

An HTTP-Based Versioning Mechanism for Linked Data. Presentation at Herbert Van de Sompel Robert Sanderson Michael L. Nelson Lyudmila Balakireva Harihar Shankar Scott Ainsworth Memento is partially funded by the Library of Congress Presentation at http://bit.ly/ac9ghh

More information

COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) What s in a name?

COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) What s in a name? COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) What s in a name? Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright 2012, 2013,2015 &

More information

Scalability, Performance & Caching

Scalability, Performance & Caching COMP 150-IDS: Internet Scale Distributed Systems (Spring 2015) Scalability, Performance & Caching Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright

More information

Unraveling the Mysteries of J2EE Web Application Communications

Unraveling the Mysteries of J2EE Web Application Communications Unraveling the Mysteries of J2EE Web Application Communications An HTTP Primer Peter Koletzke Technical Director & Principal Instructor Common Problem What we ve got here is failure to commun cate. Captain,

More information

CSc 450/550 Computer Networks Network Architectures & Client-Server Model

CSc 450/550 Computer Networks Network Architectures & Client-Server Model CSc 450/550 Computer Networks Network Architectures & Client-Server Model Jianping Pan Summer 2007 5/17/07 CSc 450/550 1 Last lectures So far, nuts and bolts views of the Internet Internet evolution and

More information

Review of Previous Lecture

Review of Previous Lecture Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose

More information

[MS-INFODCF]: InfoPath Data Connection File Download Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-INFODCF]: InfoPath Data Connection File Download Protocol. Intellectual Property Rights Notice for Open Specifications Documentation [MS-INFODCF]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

Scalability, Performance & Caching

Scalability, Performance & Caching COMP 150-IDS: Internet Scale Distributed Systems (Spring 2018) Scalability, Performance & Caching Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright

More information

Multi-agent and Semantic Web Systems: Linked Open Data

Multi-agent and Semantic Web Systems: Linked Open Data Multi-agent and Semantic Web Systems: Linked Open Data Fiona McNeill School of Informatics 14th February 2013 Fiona McNeill Multi-agent Semantic Web Systems: *lecture* Date 0/27 Jena Vcard 1: Triples Fiona

More information

Internet Engineering Task Force (IETF) Category: Standards Track. M. Petit-Huguenin Impedance Mismatch November 2013

Internet Engineering Task Force (IETF) Category: Standards Track. M. Petit-Huguenin Impedance Mismatch November 2013 Internet Engineering Task Force (IETF) Request for Comments: 7064 Category: Standards Track ISSN: 2070-1721 S. Nandakumar G. Salgueiro P. Jones Cisco Systems M. Petit-Huguenin Impedance Mismatch November

More information

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen Web and HTTP Web Kai Shen Web: the Internet application for distributed publishing and viewing of content Client/server model server: hosts published content and sends the content upon request client:

More information

Internet Engineering Task Force (IETF) Request for Comments: 8297 Category: Experimental December 2017 ISSN:

Internet Engineering Task Force (IETF) Request for Comments: 8297 Category: Experimental December 2017 ISSN: Internet Engineering Task Force (IETF) K. Oku Request for Comments: 8297 Fastly Category: Experimental December 2017 ISSN: 2070-1721 Abstract An HTTP Status Code for Indicating Hints This memo introduces

More information

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm. Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a

More information

Network Working Group Request for Comments: 2318 Category: Informational W3C March 1998

Network Working Group Request for Comments: 2318 Category: Informational W3C March 1998 Network Working Group Request for Comments: 2318 Category: Informational H. Lie B. Bos C. Lilley W3C March 1998 The text/css Media Type Status of this Memo This memo provides information for the Internet

More information

Application Level Protocols

Application Level Protocols Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application

More information

Notes beforehand... For more details: See the (online) presentation program.

Notes beforehand... For more details: See the (online) presentation program. Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the

More information

HTML4 TUTORIAL PART 2

HTML4 TUTORIAL PART 2 HTML4 TUTORIAL PART 2 STEP 1 - CREATING A WEB DESIGN FOLDER ON YOUR H DRIVE It will be necessary to create a folder in your H Drive to keep all of your web page items for this tutorial. Follow these steps:

More information

Web Client And Server

Web Client And Server Web Client And Server Project Part A Overview In this part of the project, you and your partner will build a simple web client and a succession of servers to which it can connect. The goal is to slowly

More information

Expires in 6 months September Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP <draft-ietf-pkix-ocsp-00.

Expires in 6 months September Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP <draft-ietf-pkix-ocsp-00. HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 06:26:11 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Thu, 23 Oct 1997 15:29:00 GMT ETag: "304c31-471a-344f6d3c" Accept-Ranges: bytes Content-Length: 18202 Connection:

More information

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun.

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun. Web Programming Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun. 1 World-Wide Wide Web (Tim Berners-Lee & Cailliau 92)

More information

From Web Documents to Web Applications

From Web Documents to Web Applications COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) From Web Documents to Web Applications Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright

More information

2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints

2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints Rensselaer Polytechnic Institute CSCI-4220 Network Programming David Goldschmidt, Ph.D. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints All

More information

HTTP and Web Content Delivery

HTTP and Web Content Delivery HTTP and Web Content Delivery COS 461: Computer Networks Spring 2011 Mike Freedman hgp://www.cs.princeton.edu/courses/archive/spring11/cos461/ 2 Outline Layering HTTP HTTP conneclon management and caching

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

Networking Fundamentals

Networking Fundamentals ECPE 170 Jeff Shafer University of the Pacific Networking Fundamentals 2 Lab Schedule AcEviEes Assignments Due Today Wednesday Apr 24 th Networking Fundamentals Lab 12 due by 11:59pm Last 3 days of class

More information

UFCEKG Lecture 2. Mashups N. H. N. D. de Silva (Slides adapted from Prakash Chatterjee, UWE)

UFCEKG Lecture 2. Mashups N. H. N. D. de Silva (Slides adapted from Prakash Chatterjee, UWE) UFCEKG 20 2 Data, Schemas & Applications Lecture 2 Introduction to thewww WWW, URLs, HTTP, Services and Mashups N. H. N. D. de Silva (Slides adapted from Prakash Chatterjee, UWE) Suppose all the information

More information

Request for Comments: 3405 BCP: 65 October 2002 Category: Best Current Practice

Request for Comments: 3405 BCP: 65 October 2002 Category: Best Current Practice Network Working Group M. Mealling Request for Comments: 3405 VeriSign BCP: 65 October 2002 Category: Best Current Practice Dynamic Delegation Discovery System (DDDS) Part Five: URI.ARPA Assignment Procedures

More information

Application Layer Protocols

Application Layer Protocols Application Layer Protocols Dr. Ihsan Ullah Department of Computer Science & IT University of Balochistan, Quetta Pakistan Email: ihsan.ullah.cs@gmail.com These slides are adapted from the slides accompanying

More information

EE 122: HyperText Transfer Protocol (HTTP)

EE 122: HyperText Transfer Protocol (HTTP) Background EE 122: HyperText Transfer Protocol (HTTP) Ion Stoica Nov 25, 2002 World Wide Web (WWW): a set of cooperating clients and servers that communicate through HTTP HTTP history - First HTTP implementation

More information

Network Security (NetSec)

Network Security (NetSec) Chair of Network Architectures and Services Department of Informatics Technical University of Munich Network Security (NetSec) IN2101 WS 16/17 Prof. Dr.-Ing. Georg Carle Cornelius Diekmann Version: October

More information

CSCI312 Principles of Programming Languages!

CSCI312 Principles of Programming Languages! CSCI312 Principles of Programming Languages!! Chapter 3 Regular Expression and Lexer Xu Liu Recap! Copyright 2006 The McGraw-Hill Companies, Inc. Clite: Lexical Syntax! Input: a stream of characters from

More information

Application Layer Introduction; HTTP; FTP

Application Layer Introduction; HTTP; FTP Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers

More information

Request for Comments: 2295 Category: Experimental Hewlett-Packard March 1998

Request for Comments: 2295 Category: Experimental Hewlett-Packard March 1998 Network Working Group Request for Comments: 2295 Category: Experimental K. Holtman TUE A. Mutz Hewlett-Packard March 1998 Status of this Memo Transparent Content Negotiation in HTTP This memo defines an

More information

Internet Engineering Task Force (IETF) Request for Comments: 7725 Category: Standards Track February 2016 ISSN:

Internet Engineering Task Force (IETF) Request for Comments: 7725 Category: Standards Track February 2016 ISSN: Internet Engineering Task Force (IETF) T. Bray Request for Comments: 7725 Textuality Category: Standards Track February 2016 ISSN: 2070-1721 Abstract An HTTP Status Code to Report Legal Obstacles This

More information

World Wide Web. Before WWW

World Wide Web. Before WWW FEUP, João Neves World Wide Web Joao.Neves@fe.up.pt CAcer t WoT User Digitally signed by CAcert WoT User DN: cn=cacert WoT User, email=joao.neves@i nescporto.pt, email=b2d718a54c3 83ce1a9d48aa87e2ef 687ee8769f0

More information

expires in six months October 1997 Internet Public Key Infrastructure Operational Protocols: FTP and HTTP <draft-ietf-pkix-opp-ftp-http-01.

expires in six months October 1997 Internet Public Key Infrastructure Operational Protocols: FTP and HTTP <draft-ietf-pkix-opp-ftp-http-01. HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 06:26:48 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Tue, 21 Oct 1997 17:15:00 GMT ETag: "361b18-2953-344ce314" Accept-Ranges: bytes Content-Length: 10579 Connection:

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

Interpreter. Scanner. Parser. Tree Walker. read. request token. send token. send AST I/O. Console

Interpreter. Scanner. Parser. Tree Walker. read. request token. send token. send AST I/O. Console Scanning 1 read Interpreter Scanner request token Parser send token Console I/O send AST Tree Walker 2 Scanner This process is known as: Scanning, lexing (lexical analysis), and tokenizing This is the

More information

Linked Data Semantic Web Technologies 1 (2010/2011)

Linked Data Semantic Web Technologies 1 (2010/2011) Linked Data Semantic Web Technologies 1 (2010/2011) Sebastian Rudolph Andreas Harth Institute AIFB www.kit.edu Data on the Web Increasingly, web sites provide direct access to data Using Semantic Web standards,

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Install Komodo Edit on your computer right away. 3. Bring laptops to next class

More information

Project 1: Web Client and Server

Project 1: Web Client and Server Project 1: Web Client and Server Overview In this part of the project, your group will build a simple web client and a succession of servers to which it can connect. In addition you, will learn how to

More information

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng. CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS

More information

Web Design and HTML. Web Page vs Web Site. Navigation. Links. A web page is a single page viewable using web browser. A web site is a set of web pages

Web Design and HTML. Web Page vs Web Site. Navigation. Links. A web page is a single page viewable using web browser. A web site is a set of web pages Web Page vs Web Site Web Design and HTML Lecture 14 COMPSCI111/111G SS 2018 A web page is a single page viewable using web browser Should be visually appealing, informative A web site is a set of web pages

More information

0 0& Basic Background. Now let s get into how things really work!

0 0& Basic Background. Now let s get into how things really work! +,&&-# Department of Electrical Engineering and Computer Sciences University of California Berkeley Basic Background General Overview of different kinds of networks General Design Principles Architecture

More information

CS 43: Computer Networks. Layering & HTTP September 7, 2018

CS 43: Computer Networks. Layering & HTTP September 7, 2018 CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:

More information

Introduc)on to Computer Networks

Introduc)on to Computer Networks Introduc)on to Computer Networks COSC 4377 Lecture 3 Spring 2012 January 25, 2012 Announcements Four HW0 s)ll missing HW1 due this week Start working on HW2 and HW3 Re- assess if you found HW0/HW1 challenging

More information

Decision Properties for Context-free Languages

Decision Properties for Context-free Languages Previously: Decision Properties for Context-free Languages CMPU 240 Language Theory and Computation Fall 2018 Context-free languages Pumping Lemma for CFLs Closure properties for CFLs Today: Assignment

More information

Networking: Application Layer

Networking: Application Layer CS 4410 Operating Systems Networking: Application Layer Summer 2016 Cornell University 1 Today Two application-layer protocols: DNS HTTP Domain Name Service When a user wants to communicate with a remote

More information

The World Wide Web. Internet

The World Wide Web. Internet The World Wide Web Relies on the Internet: LAN (Local Area Network) connected via e.g., Ethernet (physical address: 00-B0-D0-3E-51-BC) IP (Internet Protocol) for bridging separate physical networks (IP

More information

CS 43: Computer Networks. HTTP September 10, 2018

CS 43: Computer Networks. HTTP September 10, 2018 CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.

More information

REST Easy with Infrared360

REST Easy with Infrared360 REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

Internet Mail: The SMTP Model

Internet Mail: The SMTP Model Internet Mail: The SMTP Model User File System Sender- SMTP SMTP Commands Replies Receiver- SMTP File System Simple Mail Transfer Protocol (SMTP) to transfer e-mails Depending on the operating system,

More information

StreamServe Persuasion SP5 StreamServe Connect for SAP - Business Processes

StreamServe Persuasion SP5 StreamServe Connect for SAP - Business Processes StreamServe Persuasion SP5 StreamServe Connect for SAP - Business Processes User Guide Rev A StreamServe Persuasion SP5StreamServe Connect for SAP - Business Processes User Guide Rev A SAP, mysap.com,

More information

Library of Congress BIBFRAME Pilot. NOTSL Fall Meeting October 30, 2015

Library of Congress BIBFRAME Pilot. NOTSL Fall Meeting October 30, 2015 Library of Congress BIBFRAME Pilot NOTSL Fall Meeting October 30, 2015 THE BIBFRAME EDITOR AND THE LC PILOT The Semantic Web and Linked Data : a Recap of the Key Concepts Learning Objectives Describe the

More information

Network Security (NetSec)

Network Security (NetSec) Chair of Network Architectures and Services Department of Informatics Technical University of Munich Network Security (NetSec) IN2101 WS 18/19 Prof. Dr.-Ing. Georg Carle Dr. Holger Kinkelin Jonas Jelten

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

COSC 2206 Internet Tools. The HTTP Protocol

COSC 2206 Internet Tools. The HTTP Protocol COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending

More information

Internet Engineering Task Force (IETF) Request for Comments: 6694 August 2012 Category: Informational ISSN:

Internet Engineering Task Force (IETF) Request for Comments: 6694 August 2012 Category: Informational ISSN: Internet Engineering Task Force (IETF) S. Moonesamy, Ed. Request for Comments: 6694 August 2012 Category: Informational ISSN: 2070-1721 Abstract The "about" URI Scheme This document describes the "about"

More information

Caching. Caching Overview

Caching. Caching Overview Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be

More information