Applies To:

Show Versions Show Versions

Manual Chapter: Configuring Assembly Rules
Manual Chapter
Table of Contents   |   << Previous Chapter   |   Next Chapter >>

The WebAccelerator system manages content in the form of compiled responses in its cache, which contain applets that the WebAccelerator system uses to assemble pages. The WebAccelerator determines how to assemble content, using:
How to change parameter values for embedded URLs by substituting values from the request, or by randomly generated values
Page assembly instructions for optional Edge-Side Include (ESI) markup tags to specify HTML fragments to include in the page.
Since the WebAccelerator system performs content assembly after it matches the response to a node, it always uses the matched response nodes assembly rules, which it caches as part of the original compiled response. If the response matches to a different node than the request, the WebAccelerator system considers the assembly rules associated with the requests node as irrelevant.
1.
In the navigation pane, expand WebAccelerator and click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
5.
Click Assembly.
7.
Click the Save button.
For a new or modified acceleration policy to be in effect for your site, you must publish it. One way to do this is to click the Publish button.
When an origin web server sends a response, the clients browser stores the response in its local cache. If the object has no expiration time, the browser makes subsequent requests for that content using a conditional GET request in the form of an extra request header field, such as If-Modified-Since. If the requested object is different than the content that the browser has cached, the origin web server sends a fresh copy of the object to the browser. Otherwise, the browser uses the object that is cached locally.
Although it is faster than serving the entire object each time the browser requests it, conditional GET requests can add up to a significant amount of traffic for your site. For example, if your site has several images for each page, clients may perceive a slow response time because of the large number of conditional GET requests for the image objects.
You can increase the efficiency of the clients web browsers local cache and improve perceived access to your site by enabling the Intelligent Browser Referencing feature, which reduces or eliminates requests to your site for relatively static content, such as images and style sheet (CSS) files. When enabled, the Intelligent Browser Referencing feature prompts the WebAccelerator system to manage the web browsers cache in two ways:
By serving qualifying content with the expiration time set long enough (180 days) that it is unlikely that the browser re-requests the content in the near future.
By using a pv tag to append a unique value to qualifying links or URLs embedded in your web pages. This value is a hash of the object and, as such, is guaranteed to uniquely identify the corresponding content stored in the WebAccelerator systems cache.
Image tags
For example: <img src="...">
Script tags
For example: <script src="...">
Link tags
For example: <link href="...">
Frame tags
For example: <frame src="...">
Forms, for which the input type is an image
For example: <form><input type="mage" src="...."></form>
For the WebAccelerator system to apply the Intelligent Browser Referencing feature, the following conditions must met for the link:
There are no variation rules defined.
For example, if the link matches to a variation rule that identifies a cookie as being significant for content, the WebAccelerator system cannot apply the Intelligent Browser Referencing feature.
Note: When an object is matched to a rule in which the Intelligent Browser Referencing feature is enabled, the WebAccelerator system ignores the client cache minimum age settings for that object. However the HTML page, into which those objects are loaded, honors all client cache minimum age settings. For more information about client age settings, see Configuring an example lifetime rule.
1.
In the navigation pane, expand WebAccelerator and click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
5.
Click Assembly.
6.
Check Enable Intelligent Browser Referencing.
7.
Click the Save button.
Important: If you set the Enable the Intelligent Browser Referencing feature, you must also set the assembly rules Enable Content Assembly on Proxies feature, as described in Using content compression.
<html>
<head><title>example page</title></head>
<body>
<p>The images that your site serves:</p>
<p><img src=myImages/image1.jpeg></p>
<p><img src=myImages/image2.jpeg></p>
</body>
</html>
When the Intelligent Browser Referencing feature is enabled, the WebAccelerator system modifies the page as follows:
<html>
<head><title>example page</title></head>
<body>
<p>The images that your site serves:</p>
<p><img src=myImages/image1.jpeg;pvRG2076ND></p>
<p><img src=myImages/image2.jpeg;pv7YW905BV></p>
</body>
</html>
The pv tag that the WebAccelerator system appends to each image source URL, is a hash of the image that the WebAccelerator system has stored in its cache. In addition, the browser receives a long expiration time for each of the image files.
If an image on the page is modified, the WebAccelerator system changes the pv tag for the image and informs the client of the change. When the client performs a subsequent conditional GET request for the base page and receives the refreshed page, it compares the image, and notes the difference between image1.jpeg;pv4RR87M90 and image1.jpeg;pvRG2076ND. This difference prompts the client to re-request the image from the WebAccelerator system.
Most web browsers create a limited number of persistent TCP connections when requesting data, which restricts the amount of content a client can receive at one time. You can provide faster data downloads to your clients using the WebAccelerator systems MultiConnect feature.
When enabled, the MultiConnect feature modifies embedded URLs with unique subdomains, prompting the browser to open more persistent TCP connections (up to two per subdomain generated by the WebAccelerator system). The origin web servers never get a request from these additional subdomains; they are used exclusively on embedded URLs or links that request images or scripts and are only for requests and/or responses between the client and the WebAccelerator system. If the WebAccelerator system needs to send a request to the origin server, it removes the subdomain prefixes before sending the request.
Image tags:
<img src="...">
Script tags:
<script src="...">
Forms whose input type is an image:
<form><input type="image src="..."></form>
The MultiConnect feature is best suited for sites that have a high number of first-time visitors who are downloading a large number of images or scripts. F5 Networks® recommends that you use this feature only if you have low-latency, high-bandwidth links, because the additional TCP connections also increase the amount of traffic to your site.
Assign specific prefixes to the additional subdomains. For example, if the requested host for the mapping is www.siterequest.com and you request two additional subdomains for the HTTP protocol, you assign a subdomain prefix of wa.
If you do not perform these required tasks, the WebAccelerator system does not apply the MultiConnect feature, even if you enable it. For information about these required tasks, see the Configuration and Maintenance Tasks chapter in the Configuration Guide for the BIG-IP® WebAcceleratorTM System.
Important: Some client browsers close HTTPS connections to one domain before opening HTTPS connections to a new one. This type of browser behavior can decrease the speed of access to applications when MultiConnect is enabled; therefore, F5 Networks recommends that you do not enable MultiConnect for HTTPS connections for those client browsers.

If you are using MultiConnect with HTTPS, you must construct a trusted SSL certificate that lists the additional subdomains that you created as Subject Alternative Name entries. (This is not necessary for use with only HTTP.) For more specific information about specifying Subject Alternative Name entries, contact your certificate authority.
1.
In the navigation pane, expand WebAccelerator and click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
5.
Click Assembly.
6.
Check the Enable MultiConnect box.
7.
Click the Save button.
Once you complete the required tasks and set the Enable MultiConnect feature for an acceleration policy, the WebAccelerator system changes the domain on qualifying embedded URLs and links to use the domains you specified. For example:
For this example, your site serves a simple page (http://www.siterequest.com/index.htm) that consists of several image files. The page that your site serves appears as follows:
<html>
<head><title>example page</title></head>
<body>
<p>The images that your site serves:</p>
<p><img src=myImages/image1.jpeg></p>
<p><img src=myImages/image2.jpeg></p>
<p><img src=myImages/image3.jpeg></p>
<p><img src=myImages/image4.jpeg></p>
</body>
</html>
An additional subdomain prefix of wa is configured for the host map and the MultiConnect feature enabled, so the WebAccelerator system modifies the page and serves it as follows:
<html>
<head><title>example page</title></head>
<body>
<p>The images that your site serves:</p>
<p><img src=http://wa1.www.siterequest.com/myImages/image1.jpeg></p>
<p><img src=http://wa2.www.siterequest.com/myImages/image2.jpeg></p>
<p><img src=http://wa2.www.siterequest.com/myImages/image3.jpeg></p>
<p><img src=http://wa1.www.siterequest.com/myImages/image4.jpeg></p>
</body>
You can decrease the size of the data that the WebAccelerator system serves by enabling content compression. This lowers your sites bandwidth costs and can improve the perceived performance of your site.
When you enable content compression you identify content that you want the WebAccelerator system to compress, using gzip-encoding, when the following criteria is met:
The objects Enable Compression setting (configured on the Object Types screen) is configured as Policy Controlled.
The Enable Content Compression setting is set on the node for the assembly rule to which the request and response are matched.
The Enable Content Assembly on Proxies feature is enabled.
Note: By default, the Enable Compression setting is None in the Object Types screen for image object types (such as gif and jpeg), Microsoft® PowerPoint® object types (such as ppt and pps), and Adobe ®PDF object types (pdf), because they do not benefit from compression.
1.
In the navigation pane, expand WebAccelerator and click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
6.
Check the Enable Content Compression box.
Note: If the WebAccelerator system matches a request to an object type for which the Enable Compression setting is configured for Symmetric Deployment only or set to None, it overrides this Enable Content Compression setting. You can view individual object type settings from the Object Types screen. For more information about object type settings, see the Changing Default Settings chapter in the Configuration Guide for the BIG-IP® WebAcceleratorTM System
7.
Click the Save button.
For a new or modified acceleration policy to be in effect for your site, you must publish it. One way to do this is to click the Publish button.
Important: After you configure Enable Content Compression setting, you must configure the Enable Content Assembly on Proxies setting, as described in the following section.
The primary purpose of the Enable Content Assembly on Proxies setting is to allow the WebAccelerator system to compress content as required, and to manage content using the Intelligent Browser Referencing feature, even if the content is not served from the WebAccelerator systems cache. Therefore, you must always set the Enable Content Assembly on Proxies setting whenever you enable content compression or enable intelligent browser referencing. If you do not enable this feature, the WebAccelerator system does not modify responses that it receives from the origin web servers before it forwards the responses to the client.
Note: If the response from the origin web servers contains ESI assembly instructions,the WebAccelerator system always applies assembly rules to the content, regardless of whether the content assembly on proxies setting is enabled.
1.
In the navigation pane, expand WebAccelerator, and then click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
6.
Check the Enable Content Assembly on Proxies box.
7.
Click the Save button.
For a new or modified acceleration policy to be in effect for your site, you must publish it. One way to do this is to click the Publish button.
Some requested pages include hyperlinks that require that specific information appear in the response. You can configure parameter value substitution so that when a query parameter contains identification information for a sites visitors, it prompts the WebAccelerator system to serve different content for the request, based on the specific visitor.
Conversely, if parameter value substitution is not configured, the WebAccelerator system uses the value that it cached for the original request, for all subsequent requests after the first, even if the subsequent requests have different values that should be used in the response.
If you configure parameter value substitution for an assembly rule, the WebAccelerator system changes the targeted parameters value on the page it serves from its cache, so that the parameter you specify appears on the URL embedded in that page.
When you use parameter value substitution in assembly rules, you identify the value as a source definition in an HTTP request and specify that when the WebAccelerator system serves the page, it embeds the named value into the appropriate location in the pages URL.
Therefore, in the previous example URL, when you define a parameter value substitution, the WebAccelerator substitutes the original cached value for shopper, replacing it with the value in the request as follows:
When you configure parameter value substitution, you specify a source definition and a target definition. You also have the option to provide a URL prefix for the target, to limit the URLs to which the WebAccelerator system performs the substitution.
When you define a source definition, you specify the value that you want the WebAccelerator system to embed in the URL, in place of the cached (target) value. Typically, the source is a certain request element, such as a query parameter. However, you can define another source type, such as a random number, as described in Number randomizer. When you define the source, you identify the parameter by data type and name or location in the request.
If you use the request URL as the source, the WebAccelerator system uses the entire request URL as the value to substitute.
then the target for the substitution is the url query parameter in the embedded URL of the cached page. After substitution, the embedded URL, as served by the WebAccelerator system, appears as follows:
<a href=http://www.siterequest.com/anotherthing.jsp?url=http%3A%2F%2Fwww.siterequest.com%2Fapps%2Fsomething.jsp?entity=orange&....>
A target definition contains the value from the source definition in the embedded URL. The target is always a specific request element, such as a particular query parameter, and the WebAccelerator system replaces its value during substitution. When you define the target, you identify the parameter by data type and name or location in the request.
Although you can specify the same request element for both the source and the target, the parameter specified for the source is located in the request URL and the parameter specified for the target is located in the embedded URL in the cached page.
By default, the WebAccelerator system performs substitution on all embedded URLs in which the identified target appears. You have the option to limit which URLs embedded in a page are targeted for substitution by specifying a prefix that an embedded URL must match before the WebAccelerator system performs substitution.
For example, if you identify the target of the substitution as the entity query parameter, and you limit the substitution to embedded URLs that match the following:
If the source you specify for the substitution does not appear on the request, the WebAccelerator system removes the parameter in its entirely from the qualifying embedded URLs. In the previous example, if a subsequent request were simply:
<a href=http://www.siterequest.com/apps/shoppingCart.jsp?>link
</a>
The WebAccelerator system only performs parameter value substitution for pages that it serves from cache. The WebAccelerator system does not perform substitution for responses to requests for which it has just received fresh content from the origin server.
When configured, the assembly rules number randomizer setting generates a random number and places it in a targeted location in the embedded URL. When the WebAccelerator system compiles response, it examines the target location to see the length of the string used for the value. On subsequent page requests, the WebAccelerator system replaces that value with a random number of the same length.
This feature is generally used for sites that make use of an internet advertisement agency. They require random numbers to be placed on URLs that request ads as a way to interrupt traditional caches. By requiring a random number, these internet advertisement agencies force all such traffic to their site. For example, if a cached page includes the embedded URL as follows:
You can configure random value substitution so that the WebAccelerator system sets random values set for the entity query parameter for subsequent pages as follows:
Important: If ESI markup conflicts with any configured parameter value substitution, the WebAccelerator system ignores the parameter value substitution (including random value substitution).
You can fine-tune how the WebAccelerator system manages certain types of traffic, without changing the settings for all of your traffic, by specifying advanced assembly string at the node level. Once configured, the WebAccelerator system uses the configured settings for all requests and responses that match to the node.
Note: Because the system-wide default for most of these features is set to false, you need to set these features to false only if you are overriding an inherited true setting from a parent node.
Specify for <module>, the name of an authentication adapter module you want the WebAccelerator system to load and run for requests and responses that match this node.
When set to true, the WebAccelerator system internally follows redirects unless certain conditions, such as protocol or domain changes, are met.
When set to true, the WebAccelerator system attempts to generate a Last-Modified header for the response that matches to the node.
When set to true, the content-based identity feature is disabled.
The system-wide default is false, which means that if content-based identity is used, it is enabled for the node.
For more information about content-based identity, see the Configuration Guide for the BIG-IP® WebAccelerator System.
1.
In the navigation pane, expand WebAccelerator and click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
5.
Click Assembly.
7.
In the Advanced Assembly box, type the node string options as described in Table 7.1.
8.
Click the Save button.
For a new or modified acceleration policy to be in effect for your site, you must publish it. One way to do this is to click the Publish button.
This section of the chapter provides information about how to configure an example assembly rule. For this example site, you have three top-level nodes on the Policy Tree as follows:
Home
This branch node specifies the rules related to the home page.
Applications
This branch node specifies the rules related to the applications for the site, with the following leaf nodes:
Default
This leaf node specifies the rules related to non-search related applications.
Search
This leaf node specifies the rules related to your sites search application.
Images
This branch node specifies the rules related to graphics images.
For this example, the applications are all requested with a query parameter named sessionID. This means that you must use the requestss value sessionID for the sessionID query parameter in the URLs that are embedded in your sites web pages.
Enable the compress content feature for pages that benefit from compression. That is, for requests that matches to your Home node and any node under your Applications node. Do not enable compression for the Images node, because graphics do not benefit from compression.
Configure a parameter value substitution rule based on the sessionID query parameter for the Home and Applications nodes.
Note: By default, the Content Compression setting is disabled for image object types, such as gif and jpeg, because they do not benefit from compression. Since content compression is disabled by default for images, you do not have to explicitly set the compress content feature for the Images node in this example. For information about modifying object type settings, see the Changing Default Settings chapter in the Configuration Guide for the BIG-IP® WebAcceleratorTM System.
1.
In the navigation pane, expand WebAccelerator and click Policies.
4.
From the Matching Rules list on the Policy Editor menu bar, select Acceleration Rules.
5.
Click Assembly.
7.
In the Source Definition section, from the Type list, select Query Parameter.
8.
In the Name box, type sessionID.
9.
In the Target Definition section, from the Type list, select Query Parameter.
10.
In the Name box, type sessionID.
12.
Click the Save button.
13.
Verify that the Enable Content Compression box is checked.
14.
Click the Save button.
15.
Table of Contents   |   << Previous Chapter   |   Next Chapter >>

Was this resource helpful in solving your issue?




NOTE: Please do not provide personal information.



Incorrect answer. Please try again: Please enter the words to the right: Please enter the numbers you hear:

Additional Comments (optional)