Download presentation
Presentation is loading. Please wait.
Published byWilfred O’Connor’ Modified over 6 years ago
1
Processes The most important processes used in Web-based systems and their internal organization.
2
Contents Clients The Apache Web Server Web Server Clusters
3
Clients The most important Web client is a piece of software called Web Browser. A browser typically provides an interface by which hyperlinks are displayed easily.
4
The logical components of a Web browser
WB - perform INDEPENDENTLY Core Process – Browser Engine and Rendering Engine Latter contains – code Properly Displaying Documents RENDERING – requires HTML parsing or XML, but also require script interpretation In most cases, there is only an interpreter for the java script. Browser Engine provides – MECHANISM – for an end user to go over the document, select the required text and go over the hyperlinks.
5
Requirements of a browser
Browser must be easily extendable – support server returned document. Plug-ins MIME PLUGINS – prog dramatically loaded into the browser – handling specific document type. - locally available – standard interface Multipurpose Internet Mail Extensions (MIME) is other than ASCII
6
Using a Web proxy when the browser does not speak FTP
web proxy to unblock sites, anonymous browsing for anonymous surfing Handle application level protocols other than HTTP. Transfer a file from FTP server -> issue HTTP request to FTP proxy (which will fetch the file) -> return it embedded as HTTP
7
Web Proxys – Supporting variety of protocols
Configuring filtering requests and responses Logging Compression Caching – Squid Bringing close to an application level firewall. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages
8
The Apache Web Server Apache Web Server - mostly popular Web server.
Highly Configurable Extensible Largely Independent of platforms Runtime Environment : Apache Portable Runtime (APR) File handling Networking Locking threads Portability 70% Platform Independent Interface
9
The general organization of the Apache Web server
HTTP is virtually always implemented on top of TCP -- for which reason the core of Apache assumes that all incoming requests adhere to a TCP-based connection oriented way of communication. few assumptions – how incoming requests should be handled Fundamental concept – hook –placeholder for specific group of functions Assumes – number of phases – each phase – few hooks – hook - a group of similar actions that need to be executed as part of processing a request.
10
The general organization of the Apache Web server
EG: translate a URL to a local file name - need to be done when processing a request functions associated with a hook are all provided by separate modules. - a hook for writing information to a log, a hook for checking a client's identification, a hook for checking access rights, and a hook for checking which MIME
11
The general organization of the Apache Web server
more common to write modules containing the functions that need to be called as part of processing - hook can contain a set of functions A module developer will write functions for specific hooks. When compiling Apache, the developer specifies which function should be added to which hook. the various links between functions and hooks. there may be tens of modules, each hook will generally contain several functions. Normally. modules are considered to be mutual independent
12
Web Server Clusters
13
The principle of using a server cluster in combination with a front end to implement a Web service
important problem - Web server can easily become overloaded. A practical solution employed in many designs is to simply replicate a server on a cluster of servers and use a separate mechanism, such as a front end, to redirect client requests to one of the replicas.
14
A scalable content-aware cluster of Web servers
It is a solution to the Transport-layer switching web server cluster type The dispatcher is responsible for deciding to which server a TCP connection should be handed off The switch is used to forward TCP messages to a distributor When client first contacts the Web service, its TCP connection setup message is forwarded to a distributor, in turn contacts the dispatcher to let it decide to which server the connection should behanded off. the switch is notified that it should send all further TCP messages for that connection to the selected server The different ways of organizing Web clusters and alternatives like the ones we discussed above
15
Referances Grosskurth, Alan, and Michael W. Godfrey. "A Reference Architecture for Web Browsers." Lynx 1.2.0: 2-4. Luotonen, Ari, and Kevin Altis. "World-wide web proxies." Computer Networks and ISDN systems 27.2 (1994): Ben Laurie, Peter Laurie,”Apache: The definitive Guide.” Vital info for Apache programmers(2002)
16
Thank You
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.