COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 10: Web 10/6/20151Distributed Systems - COMP 655.

Slides:



Advertisements
Similar presentations
PowerPoint presentation of first 25 pages of instructional manual Edith Fabiyi Essentials of Internet Access.
Advertisements

TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
DT228/3 Web Development WWW and Client server model.
Muhammad Taimoor Khan
Skills: none Concepts: protocol, hypertext transfer protocol, standard This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike.
The Internet Useful Definitions and Concepts About the Internet.
How the web works: HTTP and CGI explained
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Cornell CS502 Web Basics and Protocols CS 502 – Carl Lagoze Acks to McCracken Syracuse Univ.
The Application Layer WWW
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Hypertext Transport Protocol CS Dick Steflik.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
1 Web Servers (IIS and Apache) Outline 9.1 Introduction 9.2 HTTP Request Types 9.3 System Architecture 9.4 Client-Side Scripting versus Server-Side Scripting.
CSCI 323 – Web Development Chapter 1 - Setting the Scene We’re going to move through the first few chapters pretty quick since they are a review for most.
IT 210 The Internet & World Wide Web introduction.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Web technologies and programming cse hypermedia and multimedia technology Fanis Tsandilas April 3, 2007.
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.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Fundamentals.
Basic Network Services IMT 546 – Lab 4 December 4, 2004 Agueda Sánchez Shannon Layden Peyman Tajbakhsh.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 1 © 2003 by Addison-Wesley, Inc A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For.
2013Dr. Ali Rodan 1 Handout 1 Fundamentals of the Internet.
1Computer Sciences Department. Web Design 3Computer Sciences Department.
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.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Chapter 4 Networking and the Internet. © 2005 Pearson Addison-Wesley. All rights reserved 4-2 Chapter 4: Networking and the Internet 4.1 Network Fundamentals.
1 Chapter 1 Web Components (Introduction) Web Protocols and Practice.
Copyright 2012 & 2015 – Noah Mendelsohn Introduction to: The Architecture of the World Wide Web Noah Mendelsohn Tufts University
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 7: HTTP and CGI Fundamentals of Web Programming.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
ECT 270 Client-side Web Application Development Professor Robin Burke.
WEB SCIENCE. What is the difference between the Internet and the World Wide Web? Internet is the entire network of connected computers and routers used.
World Wide Web (WWW) A Distributed Document- Based System Group E Ricky Tong (D-A0-1611) Eddy Leong (D-A0-1623) Dick Lei (D-A0-1658)
1 Welcome to CSC 301 Web Programming Charles Frank.
Internet Research Tips Daniel Fack. Internet Research Tips The internet is a self publishing medium. It must be be analyzed for appropriateness of research.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
CS2043 Internet Visual Prog. / Appl. An introduction to Internet visual programming and applications. Major topics include object-oriented concepts, graphical.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Chapter 1 Fundamentals. Internet History Internet Protocols.
1 Distributed Systems Distributed Web-Based Systems Chapter 12.
The Module Road Map Assignment 1 Road Map We will look at… Internet / World Wide Web Aspects of their operation The role of clients and servers ASPX.
Internet. What is Internet Internet is a computer network made up of millions of networks worldwide. No one knows exactly how many computers are connected.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
HTTP How the Internet servers and clients communicate.
Web Design A Brief Intro to the Internet Internet History Internet Protocols 2.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Overview of Servlets and JSP
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications 4.1 Web Access - HTTP.
JavaScript and Ajax (Internet Background) Week 1 Web site:
CSE541: Web Applications Special Thanks to M. Abdur Rahman.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
Web Programming Language
Presentation on Distributed Web Based Systems Submitted by WWW
WWW and HTTP King Fahd University of Petroleum & Minerals
JavaScript and Ajax (Internet Background)
Hypertext Transport Protocol
Distributed Systems - Comp 655
Introduction to World Wide Web
Presentation transcript:

COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 10: Web 10/6/20151Distributed Systems - COMP 655

10/6/2015Distributed Systems - Comp 6552 The Web Origin and overview of the web Drill-down on distributed system aspects –Communication –Processes –Naming –Synchronization –Replication (especially caching) –Fault tolerance –Security

10/6/2015Distributed Systems - Comp 6553 Origin of the web CERN (European particle physics lab) Purpose: facilitate document sharing –Large user community –Geographically dispersed Founder: Tim Berners-LeeTim Berners-Lee Use exploded in late 90’s –Graphical user interfaces (Mosaic and descendants) –Huge amounts of content –Search engines –Interactive pages

10/6/2015Distributed Systems - Comp 6554 Definition of the Web Many standards –HTMLHTML –HTTPHTTP –DNSDNS –URL, URI, URNURLURIURN –XMLXML –DOMDOM W3C IETF

10/6/2015Distributed Systems - Comp 6555 A word about RFCs Standards track –Proposed standard –Draft standard (at least two independent and interoperable implementations) –Internet standard (also has STD number, for example IP is STD-005 and RFC-0791)STD-005RFC-0791 “Off-track” –Experimental –Informational –Historic(al) See RFC 2026 for detailsRFC 2026

10/6/2015Distributed Systems - Comp 6556 Yet more words about RFCs Before using an RFC, check the Obsolete RFC listObsolete RFC list or find it on the Active RFC listActive RFC list I use the RFC index at faqs.org because I find it a bit easier to use than the IETF’s list. Remember, if there’s a conflict, IETF is the authority.RFC index at faqs.orgIETF’s list

10/6/2015Distributed Systems - Comp 6557 Overall structure

10/6/2015Distributed Systems - Comp 6558 What’s in a web page? Client-side script

10/6/2015Distributed Systems - Comp 6559 Some web pages are XML

10/6/2015Distributed Systems - Comp XML document type definition

10/6/2015Distributed Systems - Comp Other document types

10/6/2015Distributed Systems - Comp CGI – early Web interaction

10/6/2015Distributed Systems - Comp Problems with CGI Process per request Wide variety in server-side runtime environments Solutions –Server-side scripting (JSP, ASP, PHP) –Servlets

10/6/2015Distributed Systems - Comp Problems with browsers Browser-based user interfaces tend to be clunky and limited Solutions: –Client-side scripting –Applets –More recently, AJAX An example: ajax.htmlhttp:// ajax.html See for more informationhttp://en.wikipedia.org/wiki/AJAX

10/6/2015Distributed Systems - Comp Server-side scripts and servlets

10/6/2015Distributed Systems - Comp Nothing’s perfect What Web technology has big problems with server-side page generation?

10/6/2015Distributed Systems - Comp Communcation on the web: HTTP TCP-based client/server protocol –Create connection –Send request –Send response –Close connection HTTP 1.1 reduces connection overhead with persistent connections

10/6/2015Distributed Systems - Comp HTTP connections non-persistentpersistent

10/6/2015Distributed Systems - Comp HTTP request types

10/6/2015Distributed Systems - Comp HTTP request example GET /xyzzy HTTP/1.1 Connection: Keep-Alive Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, applicat ion/vnd.ms-excel, application/msword, application/x-shockwave- flash, */* Accept-Language: en-us Host: laptop:1215 If-Modified-Since: Sun, 27 Jun :58:28 GMT User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) typepathprotocol headers

10/6/2015Distributed Systems - Comp HTTP header types

10/6/2015Distributed Systems - Comp Processes Browsers Proxies Apache web server framework

10/6/2015Distributed Systems - Comp Browser with plug-in

10/6/2015Distributed Systems - Comp Web proxy Most browsers today support ftp. However, proxies are still used for shared caching.

10/6/2015Distributed Systems - Comp Apache

10/6/2015Distributed Systems - Comp Server cluster – simple minded

Web Server Clusters A scalable content-aware cluster of Web servers

10/6/2015Distributed Systems - Comp Web naming URI URL URN

10/6/2015Distributed Systems - Comp URI examples from RFC 2396RFC 2396 ftp://ftp.is.co.za/rfc/rfc1808.txt -- ftp scheme for File Transfer Protocol services gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles -- gopher scheme for Gopher and Gopher+ Protocol services -- http scheme for Hypertext Transfer Protocol services -- mailto scheme for electronic mail addresses news:comp.infosystems. -- news scheme for USENET news groups and articles telnet://melvyl.ucop.edu/ -- telnet scheme for interactive services via the TELNET Protocol More examples on page 670

10/6/2015Distributed Systems - Comp Naming – URL – how to access

10/6/2015Distributed Systems - Comp Naming – URN – true resource identifier RFC 2648RFC 2648 defines a URN namespace for IETF documents. RFC 2141 defines URN syntax. RFC 3406 is a BCP (Best Current Practice) for defining URN namespaces. RFC 2141 RFC 3406

10/6/2015Distributed Systems - Comp Activity – hitting a web page Check your understanding: draw a UML sequence diagram showing the interaction of key software elements when a browser hits a web page containing graphics Assume the web page and the images are on different servers “Classes” in the diagram should include –Browser –DNS resolver –DNS server –Server for the page –Server for the images

10/6/2015Distributed Systems - Comp Not much to synchronize … Generally, web clients don’t exchange information with other clients, and servers don’t exchange with other servers Most documents have a single author – few write/write conflicts However, WebDAV is a simple locking and versioning schemeWebDAV –Locks are connection-independent –Handling abandoned locks is left to implementation

10/6/2015Distributed Systems - Comp Replication – client and proxy Virtually all browsers can cache Many organizations run proxy servers Some proxies can cooperate

10/6/2015Distributed Systems - Comp Security on the Web If using client authentication NOTE: using both public and private key encryption, for performance reasons NOTE: client has to use same server for entire session