Manual Chapter : Accelerating Requests and Responses with Intelligent Browser Referencing

Applies To:

Show Versions Show Versions

BIG-IP AAM

  • 11.5.10, 11.5.9, 11.5.8, 11.5.7, 11.5.6, 11.5.5, 11.5.4, 11.5.3, 11.5.2, 11.5.1
Manual Chapter

Accelerating Requests and Responses with Intelligent Browser Referencing

Overview: Reducing conditional GET requests with Intelligent Browser Referencing

You can increase the efficiency of the client's web browser's local cache and improve perceived access to your site by enabling the Intelligent Browser Referencing (IBR) feature, which reduces or eliminates requests to your site for relatively static content, such as images and cascading style sheet (CSS) files.

About conditional GET requests

When an origin web server sends a response, the client's browser stores the response in its local cache. If the cached object expires, 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 from 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 might perceive a slow response time because of the large number of conditional GET requests for the image objects.

About Intelligent Browser Referencing for HTML

You can use the Enable Intelligent Browser Referencing To setting to manage the web browser's cache in two ways.

  • By serving qualifying content with the expiration time set long enough that it is unlikely that the browser re-requests the content in the near future.
  • By using an IBR tag (such as wa) to append a unique value into qualifying links or URLs for web pages that match the node. This value is a hash of the object and, as such, uniquely identifies the corresponding content stored in the system's cache.

The Enable Intelligent Browser Referencing Within setting uses an IBR tag (such as wa) to append a unique value to qualifying links and URLs within web pages that match the node.

For an HTML page, the BIG-IP® device applies IBR to the following elements and statements.

  • Image tags: <img src="...">
  • Script tags: <script src="...">
  • Link tags: <link href="...">
  • Forms whose input type is an image: <form><input type="image” src="..."></form>

About Intelligent Browser Referencing for cascading style sheet files

You can use the Enable Intelligent Browser Referencing To setting to prompt the BIG-IP® device to rewrite links to cascading style sheet (CSS) files on a node.

  • It can serve qualifying content with the expiration time set long enough that it is unlikely that the browser re-requests the content in the near future.
    Note: If you also select the Enable Intelligent Browser Referencing Within check box, the adaptive IBR lifetime for the BIG-IP application supersedes the default IBR lifetime.
  • It can use an IBR tag (such as wa) to append a unique value to qualifying links or URLs for style sheets that match the node. This value is a hash of the object and, as such, is guaranteed to uniquely identify the corresponding content stored in the system's cache.

When enabled, the Enable Intelligent Browser Referencing Within setting manages responses for URLs to images and for URLs to CSS files that are externally linked or imported by a CSS file in two ways.

  • By using the adaptive IBR lifetime specified in the BIG-IP application, which supersedes and is shorter than a standard IBR lifetime, enabling assembly of linked image files before all of the image files are cached, and enabling the embedded image files to refresh before a client uses stale image files from the browser's cache.
  • By using an IBR tag (such as wa) to append a unique hash value to qualifying links or URLs to images and CSS files externally linked within CSS files.
Note: The Enable Intelligent Browser Referencing Within check box applies only to CSS files that are externally linked from an HTML or CSS file, and does not apply to embedded or inline CSS elements within an HTML file. An HTML file can link to an external CSS file by means of the LINK element or an @import statement in the STYLE element. A CSS file can link to an external CSS file by means of an @import statement in the STYLE element.

Within externally linked CSS files, the BIG-IP device applies IBR to the following elements and statements.

  • Link tags: <link rel=stylesheet href="style.css" type="text/css">
  • Import statements:
    @import url("style.css");
    @import url(style.css);
    @import "style.css";
    @import style.css;

About the adaptive Intelligent Browser Referencing lifetime

When you enable Intelligent Browser Referencing for a policy node, an application can apply IBR Adaptive Lifetime (typically shorter than a standard IBR lifetime) to the CSS file. This enables the assembly of linked image files before all of the image files are cached, and allows the embedded image files to refresh before a client uses stale image files from a browser's cache. You should consider the shortest lifetime needed for an image file when configuring adaptive IBR lifetime settings. You can adjust the IBR Adaptive Lifetime setting for an application on the Applications screen.

Intelligent Browser Referencing example

For this Intelligent Browser Referencing (IBR) example, 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 site’s search application.
  • Images. This branch node specifies the rules related to graphics images.

For this example, your site serves a simple page that consists of two image files that appear like this:

   <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 IBR tag (in this example, wa) is enabled, the BIG-IP® device modifies the page like this:

   <html>
   <head><title>example page</title></head>
   <body>
      <p>The images that your site serves:</p>
      <p><img src="myImages/image1.jpeg;waRG2076ND"></p>
      <p><img src="myImages/image2.jpeg;wa7YW905BV"></p>
   </body>
   </html>
  

The IBR tag that the BIG-IP device appends to each image source URL is a hash of the image that is stored in cache. In addition, the browser receives a long expiration time for each of the image files.

As a result, the client browser conducts subsequent requests for the page with multiple actions:

  • Performing a conditional GET request for the base page.
  • Obtaining the embedded images directly from cache if the IBR tag matches.
  • Requesting new images from the BIG-IP device.

If an image on the page is modified, the BIG-IP device changes the IBR 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;wa4RR87M90 and image1.jpeg;waRG2076ND. This difference prompts the client to re-request the image from the BIG-IP device.

Advanced IBR settings for general options

For the General Options list, this table describes the Advanced settings and strings for the IBR Options area.

Advanced control Default Description
IBR Prefix ;wa Specifies a string that the BIG-IP® device appends to a unique value for qualifying links or URLs embedded in your web pages.
Note: If you change the IBR prefix, test thoroughly to ensure that your application functions properly.
IBR Default Lifetime 26 Weeks Specifies the lifetime for an Intelligent Browser Referencing (IBR) link or URL. Units of time range from Seconds through Months.
IBR Adaptive Lifetime 10 Days Specifies the lifetime for an adaptive IBR link or URL within an externally linked CSS file. Units of time range from Seconds through Months.
Note: Verify that the Enable Intelligent Browser Referencing Within check box is selected before you apply an adaptive IBR lifetime.