Skip Headers
Oracle® Application Server Web Cache Administrator's Guide
10
g
(9.0.4)
Part No. B10401-02
Home
Solution Area
Index
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Send Us Your Comments
Preface
Intended Audience
Documentation Accessibility
Organization
Related Documentation
Conventions
What’s New in OracleAS Web Cache?
New Features in 10g (9.0.4)
New Features in Release 2 (9.0.2 and 9.0.3)
Part I Getting Started with OracleAS Web Cache
1
Introduction to OracleAS Web Cache
1.1
What Is the Big Picture for Caching?
1.2
Oracle’s Solution to Web Site Performance Issues
1.3
How Reverse Proxy Web Caching Works
1.4
Benefits of Web Caching
1.5
Features of OracleAS Web Cache
1.5.1
Whole-Page Caching for Static and Dynamic Content Caching
1.5.2
Cache Invalidation and Expiration
1.5.3
Performance Assurance
1.5.4
Virtual Hosting
1.5.4.1
Virtual Host Sites
1.5.4.2
ESI Provider Sites
1.5.4.3
Site Definitions and Site-to-Server Mappings
1.5.4.4
How OracleAS Web Cache Locates Application Web Severs or Proxy Servers
1.5.5
Cache Clustering
1.5.6
Cache Hierarchies
1.5.7
Origin Server Surge Protection, Load Balancing, Failover, and Session Binding
1.5.7.1
Surge Protection
1.5.7.2
Stateless Load Balancing
1.5.7.3
Backend Failover
1.5.7.4
Session Binding (Stateful Load Balancing)
1.5.8
Security
1.5.9
Compression
1.5.10
Auto-Restart
1.6
Compatibility with Oracle Application Server Components
2
Caching Concepts
2.1
Cache Population
2.2
How OracleAS Web Cache Processes Requests with a Range Request-Header Field
2.3
Cache Consistency and Performance Assurance
2.3.1
Invalidation
2.3.1.1
Invalidation in Hierarchies
2.3.1.2
Invalidation in Cache Clusters
2.3.2
Expiration
2.3.3
HTTP Cache Validation
2.3.4
Performance Assurance Heuristics
2.4
Caching Dynamically Generated Content
2.4.1
Multiple Versions of the Same Document
2.4.2
Personalized Attributes
2.4.2.1
Controlling How Personalized Attribute Requests Are Served by the Cache
2.4.3
Session Information
2.4.3.1
Excluding the Value of Embedded URL or POST Body Parameters
2.4.3.2
Substituting Session Information in Session-Encoded URLs
2.4.3.3
Controlling How Session Requests Are Served by the Cache
2.5
Content Assembly and Partial Page Caching
2.5.1
Page Assembly Components
2.5.2
Fragmentation with the Inline and Include Tags
2.5.2.1
Using Inline for Non-Fetchable Fragmentation
2.5.2.2
Using Inline for Fetchable Fragmentation
2.5.2.3
Using Include for Fragmentation
2.5.3
Referer Request-Header Field
2.5.4
Cookie Management for Template Pages and Fragments
2.5.5
ESI Features
2.5.6
ESI for Java (JESI)
2.6
Request and Response-Header Fields
2.6.1
Oracle-ECID Request-Header Field
2.6.2
Surrogate-Capability Request-Header Field
2.6.3
Server Response-Header Field
2.6.4
Surrogate-Control Response-Header Field
2.6.5
Surrogate-Key Response-Header Field
3
Cache Clustering
3.1
Overview of Cache Clusters
3.2
Benefits of Cache Clusters
3.3
How Cache Clusters Work
3.4
How Cache Content Is Distributed
3.5
Failure Detection and Failover
4
OracleAS Web Cache Security
4.1
About OracleAS Web Cache Security
4.1.1
OracleAS Web Cache Security Model
4.1.1.1
Restricted Administration
4.1.1.2
Secure Sockets Layer (SSL)
4.1.1.3
SSL Acceleration
4.1.2
Classes of Users and Their Privileges
4.1.3
Resources Protected
4.1.4
Authorization and Access Enforcement
4.1.5
Leveraging Oracle Identity Management Infrastructure
4.1.5.1
Oracle Application Server Single Sign-On Servers
4.1.5.2
Oracle Application Server Single Sign-On Partner Applications (mod_osso)
4.2
Configuring OracleAS Web Cache Security
5
OracleAS Web Cache Topologies
5.1
Common OracleAS Web Cache Configuration
5.2
Specialized Topologies
5.2.1
Deploying a Distributed Cache Hierarchy
5.2.2
Deploying OracleAS Web Cache for High Availability Without a Hardware Load Balancer
5.2.3
Deploying OracleAS Web Cache With a Layer 7 Switch
5.3
Security Topologies
5.3.1
Deploying OracleAS Web Cache with Firewalls
5.3.2
Deploying OracleAS Web Cache with SSL Acceleration Hardware
5.3.3
Routing HTTPS Requests to a Dedicated Cache
5.3.4
Routing HTTPS Requests Around OracleAS Web Cache
5.3.5
Routing Single Sign-On Server Requests
6
Configuration and Administration Tools Overview
6.1
OracleAS Web Cache Manager for Configuration and Management
6.1.1
Starting OracleAS Web Cache Manager
6.1.2
Navigating OracleAS Web Cache
6.1.2.1
Apply Changes and Cancel Changes Buttons
6.1.2.2
Status Messages
6.1.2.3
Navigator Frame
6.1.2.4
Right Frame
6.1.2.5
The Cache Operations Page
6.1.3
Applying Static and Dynamic Configuration Changes
6.2
Oracle Enterprise Manager for Metrics
6.3
OPMN for Process Administration
6.4
Script for Setting File Permissions on UNIX
6.5
Configuration and Administration Tasks at a Glance
Part II Configuration and Administration of OracleAS Web Cache
7
Basic Setup and Configuration
7.1
Using the Default Configuration
7.2
Tasks for Setting Up OracleAS Web Cache
7.2.1
Task 1: Start OracleAS Web Cache and OracleAS Web Cache Manager
7.2.2
Task 2: Modify Security Settings
7.2.3
Task 3: Configure Auto-Restart Settings
7.2.4
Task 4: Configure Network Time Outs
7.2.5
Task 5: Set Resource Limits
7.2.5.1
Cache Memory
7.2.5.2
Connection Limit
7.2.5.3
Cached Object Size Limit
7.2.6
Task 6: Configure OracleAS Web Cache with Listening Ports for Incoming Browser Requests
7.2.7
Task 7: Provide Directives to Oracle HTTP Server
7.2.8
Task 8: Configure OracleAS Web Cache with Operations Ports
7.2.9
Task 9: Configure Origin Server, Load Balancing, and Failover Settings
7.2.10
Task 10: Configure Web Site Settings
7.2.10.1
Create Site Definitions
7.2.10.2
Map Sites to Origin Servers
7.2.10.3
Configure Error Pages
7.2.10.4
Bind a Session to an Origin Server
7.2.10.5
Default Site Settings
7.2.10.6
Virtual Host Site Example Settings
7.2.10.7
ESI Provider Site Example Settings
7.2.11
Task 11: Specify Caching Rules
7.2.12
Task 12: Apply Changes and Restart OracleAS Web Cache
8
Specialized Configurations
8.1
Configuring OracleAS Web Cache for HTTPS Requests
8.1.1
Task 1: Create Wallets
8.1.2
Task 2: Configure HTTPS Listening Ports and Wallet Location for the Cache
8.1.3
Task 3: Configure HTTPS Operations Ports for the Cache
8.1.4
Task 4: Create a Site for HTTPS Requests
8.1.5
Task 5: Configure HTTPS Port and Wallet Location for the Origin Server
8.1.6
Task 6: Create the Site-to-Server Mapping
8.1.7
Task 7: (Optional) Require Client-Side Certificates
8.1.8
Task 8: (Optional) Permit Only HTTPS Requests for a URL or Set of URLs
8.1.9
Task 9: Restart OracleAS Web Cache
8.2
Configuring a Hierarchy of Caches
8.2.1
Configuring a Distributed Cache Hierarchy
8.3
Configuring an ESI Cache Hierarchy
8.3.1
Additional Hierarchy Configuration for a Cache Cluster
8.4
Configuring a Cache Cluster
8.4.1
Task 1: Configure Cache Cluster Settings
8.4.2
Task 2: Add Caches to the Cluster
8.4.3
Task 3: Enable Tracking of Session Binding
8.4.4
Task 4: Propagate the Configuration to Cluster Members
8.4.5
Removing Caches from a Cluster
8.4.6
Configuring Administration and Invalidation-Only Clusters
8.5
Ensuring That ClientIP Headers Are Valid
8.6
Configuring End-User Performance Monitoring
8.6.1
Enabling End-User Performance Monitoring
8.6.2
Selecting URLs to Monitor
8.7
Configuring for High Availability Without a Hardware Load Balancer
8.7.1
Configuring Microsoft Network Load Balancing
8.8
Configuring HTTP Request Header Limits
8.9
Running webcached with Root Privilege
9
Creating Caching Rules
9.1
Caching Rules Overview
9.2
Rule Creation
9.2.1
Selectors
9.2.1.1
File Extension Expression Type
9.2.1.2
Path Prefix Expression Type
9.2.1.3
Regular Expression
9.2.2
Caching Policy
9.2.3
Cache-Key Policy
9.2.4
Priority
9.2.5
Default Caching Rules
9.3
Configuring Caching Rules and Rule Association
9.3.1
Task 1: Create Caching Rules
9.3.2
Task 2: Prioritize Rules
9.3.3
Task 3: (Optional) Associate Multiple Rules with Caching Policy Features
9.4
Additional Configuration for Cache Policy Features
9.4.1
Configuring Expiration Policies
9.4.2
Configuring Cookie Definitions for Multiple-Version Documents Containing Cookies
9.4.3
Recognizing Similar Browser Types for Multiple-Version Documents Containing HTTP Request Headers
9.4.4
Configuring Session or Personalized Attribute Caching Policies
9.4.5
Configuring Support for Session-Encoded URLs
9.4.6
Configuring Support for Personalized Attributes
9.4.6.1
Example: Personalized Page Configuration
9.4.7
Configuring Session Definitions to Exclude the Value of Embedded URL or POST Parameters
9.4.8
Configuring Rules for Popular Pages with Session Establishment
9.5
Using the Surrogate-Control Response Header as an Alternative to Caching Rules
9.6
Configuring Rules for Content Assembly and Partial Page Caching
9.6.1
Enabling Partial Page Caching
9.6.2
Using ESI for Simple Personalization
9.6.3
Examples of ESI Usage
9.6.3.1
Example of a Portal Site Implementation
9.6.3.2
Example of Simple Personalization with Variable Expressions
10
Administering OracleAS Web Cache
10.1
Starting and Stopping OracleAS Web Cache
10.2
Propagating Configuration Changes to Cache Cluster Members
10.3
Listing Popular Requests and Cache Contents
10.3.1
Listing Popular Requests
10.3.2
Listing All Contents
10.4
Rolling Over Event and Access Logs
11
Sending Invalidation Requests
11.1
Invalidation from External Sources
11.1.1
Using Telnet to Send Invalidation Requests
11.1.1.1
Invalidation Request Syntax
11.1.1.2
Invalidation Response Syntax
11.1.1.3
Invalidation Preview Request Syntax
11.1.1.4
Invalidation Preview Response Syntax
11.1.2
Using OracleAS Web Cache Manager to Send Invalidation Requests
11.1.2.1
Submitting Basic Invalidation Requests
11.1.2.2
Submitting Advanced Invalidation Requests
11.1.3
Using Applications for Automated Invalidation Requests
11.1.4
Using Database Triggers for Automated Invalidation Requests
11.1.5
Using Scripts for Automated Invalidations
11.1.6
Invalidation Examples
11.1.6.1
Example: Invalidating One Document
11.1.6.2
Example: Invalidating Multiple Objects
11.1.6.3
Example: Invalidating a Subtree of Documents
11.1.6.4
Example: Invalidating All Documents for a Web Site
11.1.6.5
Example: Invalidating Documents Using Prefix Matching
11.1.6.6
Example: Invalidating Documents Using Substring and Query String Matching
11.1.6.7
Example: Invalidating Documents Using Search Key Matching
11.1.6.8
Example: Propagating Invalidation Requests Throughout a Cache Cluster
11.1.6.9
Example: Previewing Invalidation
11.2
Inline Invalidation in HTTP Response
11.2.1
Example: Using Inline Invalidation
11.3
Reducing Invalidation Overhead
11.3.1
Send Basic Invalidation Requests for Invalidating One Object
11.3.2
Use Substring Matching for Invalidating Multiple Objects in Advanced Invalidations
11.3.3
Enhance Query String Invalidations
11.4
Using Search Keys in Surrogate-Key Response Header and Invalidation Requests
12
Logging Events, Diagnostics, and Access Information
12.1
Evaluating Event Logs
12.1.1
Format of the Event Log File
12.1.2
Configuring Event Logs
12.1.3
Event Log Examples
12.2
Displaying Diagnostic and Event Log Information in the HTML Body or Server-Response Header Field
12.3
Evaluating Access Logs
12.3.1
Format of the Access Log Files
12.3.1.1
cs(
header_name
) and sc(
header_name
) Access Log Fields
12.3.2
Configuring Access Logs
12.3.3
Analyzing an Access Log File
12.3.4
Access Log Examples
13
Monitoring Performance
13.1
Monitoring OracleAS Web Cache Health
13.2
Gathering OracleAS Web Cache Performance Statistics
13.3
Gathering End-User Performance Data
13.4
Gathering Origin Server Performance Statistics
14
Troubleshooting OracleAS Web Cache Configuration
14.1
Startup Failures
14.1.1
Port Conflicts
14.1.2
The admin Server Process Fails to Start
14.1.3
Mismatched Oracle Home Definitions
14.1.4
Privileged Ports
14.1.5
Greater Than One Thousand Maximum Connections
14.1.6
Wallet Cannot Be Opened
14.2
Caching Rules
14.3
Common Edge Side Includes (ESI) Syntax Errors
14.3.1
Template Syntax Error Example
14.3.2
Fragment Syntax Error Example
14.3.3
Fragment Syntax Error with Exception Handling Example
14.4
Load on OracleAS Web Cache Computer
14.5
Invalidation Timeouts
14.6
Application Web Server Capacity
14.7
Content-Length Request-Header Field
14.8
HTTP 500 Response Status Codes
14.9
Browser-Specific Issues
Part III Reference
15
Edge Side Includes (ESI) Language Tags
15.1
Overview of ESI
15.1.1
Supported ESI Language Elements
15.1.2
Syntax Rules
15.1.3
Nesting Elements
15.1.4
Variable Expressions
15.1.4.1
Variable Usage
15.1.4.2
Variable Default Values
15.1.4.3
HTTP Request Variables
15.1.5
Exceptions and Errors
ESI Tag Descriptions
ESI choose | when | otherwise Tags
ESI comment Tag
ESI environment Tag
ESI include Tag
ESI inline Tag
ESI invalidate Tag
ESI remove Tag
ESI try | attempt | except Tags
ESI vars Tag
ESI <!--esi-->Tag
16
Event Log Messages
16.1
Message Format
16.2
Messages
A
OracleAS Web Cache Directory Structure
B
Invalidation and Statistics Document Type Definitions
B.1
Invalidation DTD
B.1.1
Invalidation Request and Response DTD
B.1.2
Invalidation Preview Request and Response DTD
B.2
Statistics DTD
B.2.1
Statistics Request and Response DTD
B.2.2
Groups of Statistics
B.2.2.1
Cache Information Groups
B.2.2.2
Runtime Statistics Groups
B.2.2.3
Site Information Groups
B.2.2.4
Origin Server Statistics Group
B.2.2.5
URL Statistics Group
B.2.2.6
Cache Reasons Group
B.2.3
Query Methods
B.2.4
Statistics Examples
B.2.5
Complete Statistics Template
C
OracleAS Web Cache as a Standalone Product
C.1
Differences When OracleAS Web Cache Installed Standalone
C.2
OracleAS Web Cache Processes
C.3
webcachectl Utility Overview
C.3.1
webcachectl Utility Commands
C.3.1.1
reset
C.3.1.2
restart
C.3.1.3
restartadm
C.3.1.4
restartcache
C.3.1.5
start
C.3.1.6
startadm
C.3.1.7
startcache
C.3.1.8
status
C.3.1.9
stop
C.3.1.10
stopabort
C.3.1.11
stopadm
C.3.1.12
stopcache
C.3.2
webcachectl Parameter
D
Caching with Third-Party Application Web Servers
D.1
Overview of Third-Party Application Servers
D.1.1
Web Site Configuration
D.1.2
Caching Rules and Expiration Rules
D.2
BEA WebLogic Server 6.0
D.2.1
WebLogic SnoopServlet
D.2.2
WebLogic SessionServlet
D.3
IBM WebSphere Application Server, Version 4.0
D.3.1
WebSphere Snoop Servlet
D.3.2
WebSphere SessionSample
D.4
Apache Tomcat, Version 4.1
D.4.1
Apache Tomcat Snoop JSP
D.4.2
Apache Tomcat Session Servlet
D.5
Microsoft IIS 5.0
D.5.1
ServerVariables_Jscript ASP
D.5.2
Cookie_Jscript ASP
Glossary
Index