A Web intermediary is an application that sits between a client and server and facilitates processing. The term Web Intermediaries (WBI) refers to an IBM framework used to develop Web intermediary applications.
A server is involved in most processing tasks - from request extraction to data retrieval/transmission. Web intermediaries reduce redundant server processing, like encryption and request conversions, and delegate processing power for enhanced server performance. A client uses a Web intermediary to customize content based on requirements and control rendering.
The purpose of a Web intermediary is to change the behavior of a Web-based interface based on a user's browser history and preferences. For example, if a user prefers red hyperlinks, client-side Web intermediaries are configured to change the hyperlink color of all incoming HTML documents.
A cache-equipped Web intermediary is separate from a browser, which forwards a URL to the cache when accessing a Web page. The Web intermediary performs a local search and neighborhood query based on this request to determine if the Web page is present in other intermediaries.
The same content is stored in different formats for optimization. For example, an image may be stored with different compression ratios. Upon receiving a request, a Web intermediary determines image delivery, which is based on browser/network speed and rendering capabilities. Web intermediaries are also used modify and enhance existing protocols without impacting client-server configuration.
Web intermediaries construct a data path for all monitor/editor/generator requests, which is assigned a priority and rule for selection based on the condition required to execute that particular path. A condition may be applied to any HTTP header field.
Below is a general description of the Web intermediary process:
- The Web intermediary compares a request with the rules of the request editors. Editors that satisfy the rule modify the request based on priority.
- The modified request is compared with each defined generator rule and is handled by the generator with the highest priority. If the generator declines the request, the generator with the next highest priority is invoked.
- A set of document editors for routing the requested document is configured, depending on the request and monitor. The monitor is used to determine the document's tracking mechanism and is capable of instantly monitoring documents that are either from the Web intermediary or produced by the generator.
- The document is delivered to the requester, which is a Web browser or Web intermediary.