Caching for Objects with Multiple Versions
6.5.2 Caching for Objects with Embedded URL and POST Body Parameters
By default, Oracle Web Cache distinguishes origin server responses by the request URLs. However, if the request contains an embedded URL or POST body parameter, the request URL to the same page content is distinct for each session. Therefore, Oracle Web Cache caches responses for each of the distinct URLs. This can result in low cache hit rates and redundantly cached objects. By configuring Oracle Web Cache to ignore the value of embedded URL or POST body parameters, you enable Oracle Web Cache to serve one cached object to multiple sessions requesting the same page. Oracle Web Cache caches the response to the first request and serves subsequent requests for the page from its cache. Consider user Jane Doe accessing a page with a request URL of: https:oraclestore.oracle.comOA_HTMLibeCCtpSctDspRte.jsp?section=10103session_ID=33436 User John Doe accesses the same page with a request URL of: https:oraclestore.oracle.comOA_HTMLibeCCtpSctDspRte.jsp?section=10103session_ID=33437 In addition, this page contains the following POST body for Jane Doe and John Doe, respectively: section=1013 session_ID=3346 Accept-Encoding Restricts the content-encodings that are acceptable in the response Example: Accept-Encoding: gzip Accept-Language Specifies the set of languages that are preferred as a response Example: Accept-Language: en User-Agent Contains information about the client that initiated the request Example: User-Agent: Mozilla4.61 [en] WinNT; U Note: By default, Oracle Web Cache does not interpret the values of these HTTP request headers. If the values for two pages are different, Oracle Web Cache caches both pages separately. This issue is especially problematic with the User-Agent request header, whereby the browser type, version, and operating system can result in too many duplicate cache entries. For example, if one request sends an HTTP request-header field of User-Agent: Mozilla4.0 compatible; MSIE 5.5; Windows and another request sends an HTTP request-header field of User-Agent: Mozilla4.0 compatible; MSIE 5.0; Windows; DigExt for different versions of Internet Explorer, Oracle Web Cache serves two pages for the two requests. You can override this behavior for the User-Agent request header by configuring Oracle Web Cache to cache and serve the same page for the same browser type, as described in Section 6.8.4 . Table 6–3 Cont. HTTP Request-Header Field Header Field Description Caching and Compressing Content 6-9 section=1013 session_ID=3347 The only distinct part to the request URL and the POST body is the value of the session_ID parameter. Rather than caching and serving two versions of the same object, you can configure Oracle Web Cache to ignore the value of session_ID so that one cached object can be served to both users. To configure parameters to ignore, establish global parameters to be applied to all caching rules or site-specific parameters to be applied to caching rules for a specific site. See Section 6.8.3 .6.5.3 Caching Error Responses
If there is a problem on the origin server that does not result in a 200 OK HTTP response status for a request that matches this rule, then Oracle Web Cache does not attempt to send the request to the origin server again. Instead, it serves the cached HTTP error, saving origin server resources for known bad responses. By default, Oracle Web Cache does not cache any non-200 OK HTTP responses. If you want these errors to be cached, then you must configure caching rules to specifically cache error responses. Oracle Web Cache caches the error pages according to the expiration policy of the rule. After the problem is resolved, invalidate the HTTP error responses. For configuration details, see Section 6.8.5 .6.5.4 Caching for Objects with Sessions
You can specify how Oracle Web Cache serves requests with the existence or nonexistence of session cookies, embedded URL parameters, or POST body parameters. You can choose to: ■ Serve or not serve cached objects to requests that have a session cookie, embedded URL parameter, or POST body parameter ■ Serve or not serve cached objects to requests that do not have a session cookie, embedded URL parameter, or POST body parameter For example, if you want the first request of a new user to establish a session from the origin server, then choose to serve cached objects to requests that have the session cookie or parameter, but do not serve cached objects to requests that do not have the session cookie or parameter. When you choose to serve for both, you can then specify if requests with or without the session cookie or parameter can share the same cached object. Oracle Web Cache uses a default string for those requests without the cookie or parameter. For configuration details, see Section 6.8.6 .6.5.5 Caching for Objects with Session-Encoded URLs
The section Section 6.5.2 describes how you can ignore the value of embedded URL or POST body parameters for objects with identical content for all sessions. However, in some cases, the HTML content of objects is programmed with hyperlink tags, such as A HREF=..., that contain embedded session information to distinguish users. These links are called session-encoded URLs. The use of session-encoded URLs results in responses that vary slightly from session to session. 6-10 Oracle Fusion Middleware Administrators Guide for Oracle Web Cache You can configure Oracle Web Cache to substitute sessions within HTML hyperlink tags with the session values obtained from a session cookie, embedded URL parameter, or POST body parameter. By configuring session value substitution in combination with ignoring the value of embedded URL parameters, you can configure Oracle Web Cache to cache one object for multiple sessions, even if the session parameter values in session-encoded URLs vary. Continuing with the example from Section 6.5.2 , assume that Jane Doe and John Doe are again assigned an embedded URL parameters of session_ID=33436 and session_ID=33437 by the origin server. The page shown in Figure 6–2 has several A HREF=... links that include the session_ID parameter. The Oracle Database Standard Edition link under the Oracle Database heading for Jane Doe uses the following HTML code: A HREF=http:oraclestore.oracle.comOA_ HTMLibeCCtpSctDspRte.jsp?section=10166session_ID=334326Oracle Database Standard EditionA The same link for John Doe uses the following HTML code: A HREF=http:oraclestore.oracle.comOA_ HTMLibeCCtpSctDspRte.jsp?section=10166session_ID=334327Oracle Database Standard EditionA By using the value of the session_ID embedded URL parameter, Oracle Web Cache substitutes the correct session information for Jane Doe and John Doe. Figure 6–2 Session-Encoded URLs After the cache is populated with a page that contains session-encoded URLs, other requests for the page are served from the cache, regardless of whether the request has Note: Oracle Web Cache does not cache the Set-Cookie response header field.Parts
» Oracle Fusion Middleware Online Documentation Library
» HTTP Traffic Management Request Flow in the Web Tier
» Request Filtering and Routing
» Origin Server Load Balancing and Failover
» Caching Request Flow in the Web Tier
» Compression Request Flow in the Web Tier
» Session Binding Request Flow in the Web Tier
» Compatibility with Oracle Fusion Middleware Components
» About Oracle Web Cache Management Tools
» About Site Configuration Oracle Fusion Middleware Online Documentation Library
» Maximum Cache Size About Resource Limits in Oracle Web Cache Management
» Maximum Incoming Connections From the Web Cache menu, select Monitoring and then Performance
» Network Timeouts From the Web Cache menu, select Monitoring and then Performance
» Logging into Fusion Middleware Control
» From the navigation pane, expand the farm and then the Web Tier installation
» Understanding Statistics on the Web Cache Home Page
» Using the Fusion Middleware Control Help
» Starting Oracle Web Cache Manager
» Navigating Oracle Web Cache Manager
» Understanding the Cache Operations Page
» Adding an Oracle Web Cache System Component to an Environment
» Verifying Port Configuration for Oracle Web Cache with OPMN
» Adding an Oracle Web Cache Listening Port
» From the Web Cache menu, select Administration Ports Configuration. Click Create.
» From the Port Type list, select NORM.
» In the IP Address field, specify the computer running Oracle Web Cache:
» In the Port field, enter the listening port from which Oracle Web Cache receives
» Modifying Oracle Web Cache Operation Ports
» Navigate to the Web Cache Home page in Fusion Middleware Control. See
» From the Web Cache menu, select Administration Ports Configuration.
» Select the port you want to modify and click Edit.
» In the Endpoint Attributes section, from the Port Type list, select
» Click OK. Task 1: Configure Port Configuration for Oracle Web Cache
» From the Web Cache menu, select Administration and then Origin Servers.
» Click Create. Task 2: Specify Origin Server Settings
» Configure the Host, Port, Capacity, Protocol, and Routing Enabled settings for
» Specify these settings if these origin server is a proxy server in the Proxy Web
» Click OK to apply changes and return to the Origin Servers page. It is not
» In the Aliases section, specify all the possible aliases for the site to ensure requests
» Click Create to create an alias.
» Configure the Host and Port fields using the descriptions in
» From the Web Cache menu, select Administration and then Sites.
» From the Site-to-Server Mapping section, click Create.
» Configure the Host Pattern, Port Pattern, and Prefix elements:
» From the Web Cache menu, select Administration and then Resource Limits.
» In the Maximum Cached Object Size field, specify a maximum size of objects
» For each cache, in the Maximum Cache Size field, enter the amount of
» In the Maximum Incoming Connections field, enter the maximum number of
» Click Apply. Task 5: Set Resource Limits and Network Thresholds
» From Oracle Web Cache Manager, select Properties Network Timeouts. See
» From the For Cache list, select a specific cache.
» Select a timeout type and click Edit Selected. For more information about the
» In the Edit dialog for the threshold, modify the value for the Duration field or
» Select option Use for all caches in the cluster to apply the duration to all
» Click Submit. Oracle Fusion Middleware Online Documentation Library
» Create error pages and place them in the following directory locations:
» From Oracle Web Cache Manager, in the navigator frame, select Origin Servers,
» Select either Default Pages or a site name in the table, and then click Edit.
» Surge Protection Overview of Origin Server Load Balancing and Failover
» Stateless Load Balancing Overview of Origin Server Load Balancing and Failover
» Backend Failover Overview of Origin Server Load Balancing and Failover
» Oracle Web Cache Solely as a Software Load Balancer or Reverse Proxy
» Operating System Load Balancing Support
» Configuring Session Binding Oracle Fusion Middleware Online Documentation Library
» From the Session Name list, select a session to enable binding for a specific
» From the Session Binding Mechanism list, select a binding mechanism for the
» Understanding Failover Threshold and Capacity Settings
» From the Web Cache menu, select Administration and then select Cluster.
» Click Add. Oracle Fusion Middleware Online Documentation Library
» Task 2: Enable Tracking of Session Binding
» Select the other cache members in the cluster, click Synchronize.
» Select the cache you want to remove and click Delete.
» With the other caches still selected, click Restart.
» Select a cache except the current one, and click Delete. Repeat until only the
» Configuring Administration and Invalidation-Only Clusters
» From Oracle Web Cache Manager, in the navigator frame, select Properties
» In the General Cluster Information section of the Clustering page, click Edit.
» In the Ping URL field, enter the URL that cache cluster members uses to attempt to
» In the Ping Interval field, enter the time, in seconds, between attempts by a cluster
» In the Propagate Invalidation field, select Yes or No to specify whether you want
» Click Submit. Task 1: Configure Cache Cluster Settings
» In the Cache Name field, enter a name for the Oracle Web Cache instance. The
» By default, the Host Name field contains the host name of the node on which
» By default, the Oracle Home field contains the file specification for the Oracle
» In the Capacity field, enter the number of concurrent incoming connections from
» In the navigator frame, select Properties Clustering.
» In the Cluster Members section of the Clustering page, click Add.
» In the Host Name field, enter the host name of the cache to be added to the cluster.
» In the Admin Port field, enter the administration port for the cache to be added to
» In the Protocol for Admin Port field, select either HTTP or HTTPS to accept
» In the Cache Name field, enter a name for the cache. The name must be unique
» Click Submit. Task 2: Add Caches to the Cluster
» When you have completed adding members to the cache cluster, click Apply
» Task 3: Enable Tracking of Session Binding
» In the navigator frame, select Operations Cache Operations.
» Select All caches in the Operate On field.
» Select an Interval of Immediate. No other interval is allowed for
» Click Propagate. Oracle Fusion Middleware Online Documentation Library
» For each cluster member, set the capacity to 0. Select Properties Clustering.
» Introduction to Request Filtering
» About Learned Rules Oracle Fusion Middleware Online Documentation Library
» Configuring Rules for the Privileged IP Filter
» Click Create to create a row in the table.
» In the IP Address field, enter the IP address, either as an IP version 4 or IP
» Configuring Rules for the Client IP Request Filter Click Create to create a row in the table.
» From the URL Type list, select an option to determine how the rules URL is
» Click the Case Insensitive Match check box to match requests regardless of
» Configuring Rules for the Method Request Filter
» Click Apply to save the configuration for the request filter.
» In the URL field, based on the URL Type you select, enter an optional URL
» In the Query String Expression field, enter the query string, as a substring or
» Click the Enable check box to enable the rule; deselect the check box to disable
» From the Type list, select to base the match evaluation on the substring or
» From the URL Type list, select an option to determine how the rules URL are
» Configuring Rules for the Format Request Filter
» Click the Enable check box to enable the validation check:
» Click the Check Query String check box to verify the format of the URL, as
» Click the Allow check box for Oracle Web Cache to allow requests containing
» Click the Monitor Only check box to see the match activity of the rule without
» Click Apply Changes. Reverting Configuration Settings
» Oracle Web Cache Security Model
» Resources Protected Introduction to Security in Oracle Web Cache
» Authorization and Access Enforcement
» Leveraging Oracle Identity Management Infrastructure
» Monitoring Statistics for Request Filter Types and Rules Configuring Password Security
» Configuring Access Control Oracle Fusion Middleware Online Documentation Library
» From the Web Cache menu, select Security and then Wallets.
» Perform the tasks in section Create a Wallet of the Oracle Fusion Middleware
» Task 2: Configure an HTTPS Listening Port
» Click Create. Oracle Fusion Middleware Online Documentation Library
» In the Port field, enter the listening port from which Oracle Web Cache Click OK.
» From the Web Cache menu, select Security and then SSL Configuration.
» Click the Expand icon next to the SSL Communication Between Web Cache and
» Click Change Wallet to display the Select Client Wallet dialog.
» Select the wallet to use, and click OK. Ensure this wallet contains a certificate that
» In the Fusion Middleware Control, specify a site definition and site-to-server
» From the Web Cache menu, select Availability Restart to save the configuration
» From Oracle Web Cache Manager, in the navigator frame, select Properties Site
» Select the site you created in Step 1, and click ShowEdit Site.
» In the ShowEdit dialog, in the HTTPS Only Prefix field, enter the URL prefix for
» Modify ssl.conf for Keep-Alive Connections
» Task 5: Restart Oracle Web Cache
» Task 6: Perform Additional Configuration for Oracle WebLogic Servers
» Configuring HTTPS Operation Ports
» From the Port Type list, select the port type, ADMINISTRATION,
» In the Port field, enter the listening port from which Oracle Web Cache
» Click OK. Oracle Fusion Middleware Online Documentation Library
» From the Web Cache menu, select Security SSL Configuration.
» Select the row for the endpoint you created in Step 2 and click Edit.
» In the SSL Configuration section, click Enable SSL.
» In the Server Wallet Name field, select the wallet you created in
» In the Advanced SSL Settings section, click Expand + to expand the
» From the SSL Authentication list, select the type of client authentication.
» From the SSL Protocol Version list, select the version of SSL to use.
» Configuring Client-Side Certificate Settings for a Site
» In the Site Definitions page, select the site and click ShowEdit Site.
» In the ShowEdit dialog, in the Client-Side Certificate field, select Required.
» Click Submit. Requiring Client-Side Certificates
» Configuring Certificate Revocation Lists CRLs
» Configuring HTTP Request Header Size
» Ensuring That ClientIP Headers Are Valid
» Configuring Support for Caching Secured Content
» Select the cache for which you want to modify settings, and then click Change
» Enter the new user in the User ID field and the group ID of the user in the Group
» Click Submit. Configuring Process Identity
» Script for Setting File Permissions on UNIX
» About Cache Population Oracle Fusion Middleware Online Documentation Library
» Expiration About Cache Consistency
» HTTP Cache Validation About Cache Consistency
» Invalidation About Cache Consistency
» About Caching Decisions Oracle Fusion Middleware Online Documentation Library
» Introduction to Creating Caching Rules
» Caching for Objects with Multiple Versions
» Caching for Objects with Embedded URL and POST Body Parameters
» Caching Error Responses Introduction to Configuring Advanced Settings
» Caching for Objects with Sessions
» Caching for Objects with Session-Encoded URLs
» Basic Tasks for Configuring and Monitoring Caching Rules
» Configuring Expiration Policies Oracle Fusion Middleware Online Documentation Library
» From the Web Cache menu, select Administration and then Caching Rules.
» From Site Specific Caching Rules or Global Caching Rules section, click
» Configuring Settings for Rules with Multiple Versions of the Same Object
» From the Web Cache menu, select Administration and then Multi-Version
» In the Cookie Name field, enter the name of the cookie.
» Click the Cache If Absent check box to cache versions of the object that do not
» Click Edit Global URL Parameters to Ignore to specify global parameters for all
» In the Parameters to Ignore field, specify the global parameters. Separate multiple
» Click Submit. Excluding the Value of Embedded URL or POST Body Parameters
» Click Apply Changes. Excluding the Value of Embedded URL or POST Body Parameters
» Select a site, and then click ShowEdit Selected.
» In the URL Parameters to Ignore field, specify the site-specific parameters.
» Recognizing Similar Browser Types for Multiple-Version Objects Containing HTTP Request Headers
» From the Web Cache menu, select Administration and then select Session
» Create a session definition in the Session Definitions table. See
» In the Session Policy Configuration section, click Create.
» From the Session Name list, select the session you created in Step 2.
» In the Cache column, select the Without Session check box for Oracle Web
» In the Cache column, select the With Session check box for Oracle Web Cache
» In the Substitute Default Value column, select the check box to instruct
» From the Site-Specific Caching Rules or the Global Caching Rules section of
» From the Session Definition list, select the sessions you created in Step 2 and
» Configuring Rules for Popular Pages with Session Establishment
» Monitoring Summary Settings for Caching Rules
» Overview of Invalidation Oracle Fusion Middleware Online Documentation Library
» About Out-of-Band Invalidations About ESI Inline Invalidations
» About Response Header Invalidations
» Invalidation Preview Request Syntax
» Invalidation Preview Response Syntax
» Invalidation Examples Format of Invalidation Requests for Out-of-Band and ESI Inline Mechanisms
» About Search Keys in Invalidations
» Using Telnet to Send Invalidation Requests
» In the Search Criteria section, select the search criteria:
» In the Action section, choose Preview list of objects that match invalidation
» From the list, select Cookie or Header.
» In the Action section, choose Preview list of objects to be removed.
» Using Application Program Interfaces APIs for Automated Invalidation Requests
» Using Database Triggers for Automated Invalidation Requests
» Using Scripts for Automated Invalidations
» Example Usage Enabling Response-Header Invalidation
» Enabling Search Keys for Invalidations
» About the invalidator account Propagation of Invalidation Messages
» Introduction to Diagnostic Solutions
» Introduction to Listing Popular Requests and Cache Contents
» Viewing General and Detailed Statistics
» Viewing Configuration Statistics Oracle Fusion Middleware Online Documentation Library
» Listing Popular Requests Oracle Fusion Middleware Online Documentation Library
» In the Display Event Log Entries for Request field, select Yes to display Click Submit.
» Event Logging Formats Introduction to Event Logs
» Event Log Examples Introduction to Event Logs
» Access Log Formats Introduction to Access Logs
» Access Log Fields Introduction to Access Logs
» Access Log Examples Introduction to Access Logs
» Configuring Event Logs Oracle Fusion Middleware Online Documentation Library
» In the Directory field, enter the directory in which to write event logs.
» Click Enable Buffering? to enable buffered logging; deselect the check box to
» If buffering is enabled, in the Flush Interval field, enter the interval, in
» If buffering is enabled, in the Buffer Size field, enter the size of the buffer,
» From the Verbosity list, select the needed level of detail for the event log. The
» In the File Name field, enter a name for the event log file.
» From the File Format list, select the log format.
» In Include Request Details, select Yes to enable Oracle Web Cache to write
» In the Rollover By Time section, click Edit.
» From the Rollover by Time list, select Never, Hourly, Daily, or Weekly to
» In the Rollover by Size field, enter the maximum size of the log file size at
» In the Retention by Time field, specify how long to keep log files before
» In the Retention by Size field, enter the total size of all log files before purging
» Configuring Access Logs Oracle Fusion Middleware Online Documentation Library
» In the Directory field, enter the directory in which to write access logs.
» Click Enable Logging? to enable logging; deselect to disable logging.
» If you want to apply the settings from the Default Settings row to this site,
» In the File Name field, enter a name for the access log file.
» Click Enable Logging to enable logging for the site; deselect to disable logging
» Select Log ESI Fragment Requests? to log the ESI fragment log messages from
» From the Format Style list, select an access log format.
» From the Rollover Policy list, select a rollover policy to specify how often you
» Creating a Customized Access Log Format
» Creating a Customized Access Log Rollover Policy
» Viewing Event Logs and Access Logs Rolling Over Event and Access Logs Using Audit Logs
» Using Oracle Web Cache in a Common Deployment
» Using a Cache Hierarchy for a Global Intranet Application
» Using Oracle Web Cache for High Availability without a Hardware Load Balancer
» ESI Features Introduction to ESI for Partial Page Caching
» ESI Language Elements in the Surrogate-Control Response Header
» Syntax Rules Introduction to ESI for Partial Page Caching
» Nesting Elements Variable Expressions
» Exceptions and Errors Introduction to ESI for Partial Page Caching
» About Fragmentation with the Inline and Include Tags
» Referer Request-Header Field Cookie Management for Template Pages and Fragments
» Using ESI for Simple Personalization Examples of ESI Usage
» Example: Using Inline Invalidation
» ESI choose | when | otherwise Tags
» ESI comment Tag ESI environment Tag
» ESI include Tag ESI Tag Descriptions
» ESI inline Tag ESI Tag Descriptions
» ESI invalidate Tag ESI Tag Descriptions
» ESI remove Tag ESI Tag Descriptions
» ESI try | attempt | except Tags
» ESI vars Tag ESI Tag Descriptions
» ESI --esi--Tag ESI Tag Descriptions
» Web Site Configuration Introduction to Third-Party Application Servers
» Caching Rules and Expiration Rules
» WebSphere Snoop Servlet IBM WebSphere
» When creating a session definition in the Session Definitions section of the
» Ensure that Oracle Web Cache has been configured to communicate with the
» Start the Apache Tomcat server, and then access the following URL:
» Apache Tomcat Session Servlet
» In the Objects Expire section, select After Cache Entry and enter 60 in the
» Ensure that Oracle Web Cache has been configured to communicate with IIS, as
» Start IIS, verify that your browser is set to accept cookies, and then access the
Show more