Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 10: Web 10/6/20151Distributed Systems - COMP 655."— Presentation transcript:

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

2 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

3 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

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

5 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

6 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

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

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

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

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

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

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

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

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

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

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

17 10/6/2015Distributed Systems - Comp 65517 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

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

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

20 10/6/2015Distributed Systems - Comp 65520 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 2004 00:58:28 GMT User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) typepathprotocol headers

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

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

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

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

25 10/6/2015Distributed Systems - Comp 65525 Apache www.apache.org

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

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

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

29 10/6/2015Distributed Systems - Comp 65529 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://www.math.uio.no/faq/compression-faq/part1.html -- http scheme for Hypertext Transfer Protocol services mailto:mduerst@ifi.unizh.ch -- mailto scheme for electronic mail addresses news:comp.infosystems.www.servers.unix -- 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

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

31 10/6/2015Distributed Systems - Comp 65531 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

32 10/6/2015Distributed Systems - Comp 65532 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

33 10/6/2015Distributed Systems - Comp 65533 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

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

35 10/6/2015Distributed Systems - Comp 65535 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


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

Similar presentations


Ads by Google