![Page 1: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/1.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
DISTRIBUTED SYSTEMSPrinciples and Paradigms
Second EditionANDREW S. TANENBAUM
MAARTEN VAN STEEN
Chapter 12Distributed
Web-Based Systems
![Page 2: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/2.jpg)
12.1 Architecture (5) traditional web-based systems, web services
12.2 Processes (3) clients, the Apache web server, web server clusters
12.3 Communication (4 + x) hypertext transfer protocol, simple object access protocol, (DASH)
12.4 Naming (1)12.5 Synchronization (0.5)12.6 Consistency and replication (6)
web proxy caching, replication for web hosting systems, replication of web applications
12.7 Fault tolerance (0.5)12.8 Security (0.5)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
![Page 3: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/3.jpg)
1 Architecture + 12.4 Naming
2 Communication + DASH
3 Consistency and replication + 12.5 Syn.
4 Processes + 12.7 Fault tole+ 12.8 Sec.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
![Page 4: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/4.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Traditional Web-Based Systems
Figure 12-1. The overall organization of a traditional Web site.
![Page 5: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/5.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Web Documents
Figure 12-2. Six top-level MIME types and some common subtypes.
![Page 6: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/6.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Multitiered Architectures
Figure 12-3. The principle of using server-side CGI programs.
![Page 7: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/7.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Web Services Fundamentals
Figure 12-4. The principle of a Web service.
![Page 8: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/8.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Processes – Clients (1)
Figure 12-5. The logical components of a Web browser.
![Page 9: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/9.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Processes – Clients (2)
Figure 12-6. Using a Web proxy when the browser does not speak FTP.
![Page 10: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/10.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
The Apache Web Server
Figure 12-7. The general organization of the Apache Web server.
![Page 11: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/11.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Web Server Clusters (1)
Figure 12-8. The principle of using a server cluster in combination with a front end to implement a Web service.
![Page 12: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/12.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Web Server Clusters (2)
Figure 12-9. A scalable content-aware cluster of Web servers.
![Page 13: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/13.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Connections (1)
Figure 12-10. (a) Using nonpersistent connections.
![Page 14: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/14.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Connections (2)
Figure 12-10. (b) Using persistent connections.
![Page 15: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/15.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Methods
Figure 12-11. Operations supported by HTTP.
![Page 16: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/16.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Messages (1)
Figure 12-12. (a) HTTP request message.
![Page 17: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/17.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Messages (2)
Figure 12-12. (b) HTTP response message.
![Page 18: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/18.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Messages (3)
Figure 12-13. Some HTTP message headers.
![Page 19: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/19.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
HTTP Messages (4)
Figure 12-13. Some HTTP message headers.
![Page 20: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/20.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Simple Object Access Protocol
Figure 12-14. An example of an XML-based SOAP message.
![Page 21: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/21.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Naming (1)
Figure 12-15. Often-used structures for URLs. (a) Using only a DNS name. (b) Combining a DNS name with a port number.
(c) Combining an IP address with a port number.
![Page 22: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/22.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Naming (2)
Figure 12-16. Examples of URIs.
![Page 23: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/23.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Web Proxy Caching
Figure 12-17. The principle of cooperative caching.
![Page 24: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/24.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Replication for Web Hosting Systems
Figure 12-18. The general organization of a CDN as a feedback-control system (adapted from Sivasubramanian et al., 2004b).
![Page 25: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/25.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Adaptation Triggering
Figure 12-19. One normal and three different access patterns reflecting flashcrowd behavior
(adapted from Baryshnikov et al., 2005).
![Page 26: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/26.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Adjustment Measures
Figure 12-20. The principal working of the Akamai CDN.
![Page 27: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/27.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Replication of Web Applications
Figure 12-21. Alternatives for caching and replication with Web applications.
![Page 28: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/28.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Security (1)
Figure 12-22. The position of TLS in the Internet protocol stack.
![Page 29: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 DISTRIBUTED SYSTEMS](https://reader031.vdocument.in/reader031/viewer/2022020301/5a4d1af17f8b9ab05997dfd7/html5/thumbnails/29.jpg)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5
Security (2)
Figure 12-23. TLS with mutual authentication.