Expression 'obotsl txts GET GET with query strng GET GET ExpressionIpdfs ith query N/A Cach GET GET ith query N/A GET GET t htmlas ith query N/A 29 Regular tht GET with query strng GET GET with query N/A N/A GET GET 31 Expession giftie?gs with query N/A Cache Figure3:Samplestaticcachingrulesforwww.oracle.comasdisplayedintheWebCacheManag administrative user interfa When configuring OracleAs Web Cache, administrators use caching policies to specify which content to cache and which content not to cache. 3 OracleAs Web Cache supports caching of static content, such as GIF and PEG images, as well as non-transactional content created dynamic pag age generation technologies, such as JavaServer Pages (SP), Active Server Pages(ASP), PL/SQL Server Pages(PSp), Java Servlets, Common Gateway Interface(CGD), PHP, Python, ColdFusion, and many others Note that dynamically generated content was, until very recently, considered non- cacheable. This is in part due to the ephemeral nature of this content; another reason is that it is difficult to map HTML-formatted content to the relational tables and materialized views used to generate the content. As discussed later in this paper, the invalidation and capacity heuristics mechanisms supported by OracleAs Web Cache help circumvent this difficulty quite nicely 3 Note that most caching policies can be expressed at development time using surrogate-control headers, c aking the content self-describing and the configuration of rules unnecessary. Rules expressed in surrogate- trol headers override those expressed in the configuration. OracleS Web Cache 10g(1 Technical White Pape ation, All Rights Reserved
Page 11 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved Figure 3: Sample static caching rules for www.oracle.com, as displayed in the Web Cache Manager administrative user interface. When configuring OracleAS Web Cache, administrators use caching policies to specify which content to cache and which content not to cache.3 OracleAS Web Cache supports caching of static content, such as GIF and JPEG images, as well as non-transactional content created using dynamic page generation technologies, such as JavaServer Pages (JSP), Active Server Pages (ASP), PL/SQL Server Pages (PSP), Java Servlets, Common Gateway Interface (CGI), PHP, Python, ColdFusion, and many others. Note that dynamically generated content was, until very recently, considered noncacheable. This is in part due to the ephemeral nature of this content; another reason is that it is difficult to map HTML-formatted content to the relational tables and materialized views used to generate the content. As discussed later in this paper, the invalidation and capacity heuristics mechanisms supported by OracleAS Web Cache help circumvent this difficulty quite nicely. 3 Note that most caching policies can be expressed at development time using surrogate-control headers, making the content self-describing and the configuration of rules unnecessary. Rules expressed in surrogatecontrol headers override those expressed in the configuration
gular NIA Don't Cache gular Eapression"for ten an ithN/A N/A Cache gular thN/ N/A Aff NA ET thN/A Cache GET lew. N/A Cache query Figure4:Sampledynamiccachingrulesforwww.oracle.com,asdisplayedintheWebCachemAnag administrative user interfac Examples of non-transactional pages that are dynamically generated include product catalogs, where information on pricing and inventory might vary from one moment to the next auction views, which must be regenerated after each successful bid is processed earch results, which can change as site content is added and removed portal pages, which display personalized content for each user Specifying caching policies is a declarative process. When an administrator assig caching rules, he specifies the regular expression for either a specific URL or a collection of URls and whether or not the content matching those URLs should be cached. Examples of content that administrators would typically declare non- cacheable include update transactions, personal account views, and so forth. In addition to the URl, administrators can specify optional selectors for more fine- grained caching rules These additional selectors include the Http request method (geT, Get with query string or Post)and, if Post is selected the Http poSt body of the documents If no caching rules are specified or if no rules match a particular request, then OracleAS Web Cache behaves just as traditional proxy caches do; that is, it relies on standard Http header information to determine what is cacheable Naive proxy caches typically only cache static content for reasons discussed earlier in this paper OracleAS Web Cache 10g(10.1.2)-Technical White Pap poration, All Rights Reserved
Page 12 OracleAS Web Cache 10g (10.1.2) -- Technical White Paper Copyright © 1999-2005 Oracle Corporation, All Rights Reserved Figure 4: Sample dynamic caching rules for www.oracle.com, as displayed in the Web Cache Manager administrative user interface Examples of non-transactional pages that are dynamically generated include: • product catalogs, where information on pricing and inventory might vary from one moment to the next • auction views, which must be regenerated after each successful bid is processed • search results, which can change as site content is added and removed • portal pages, which display personalized content for each user Specifying caching policies is a declarative process. When an administrator assigns caching rules, he specifies the regular expression for either a specific URL or a collection of URLs and whether or not the content matching those URLs should be cached. Examples of content that administrators would typically declare noncacheable include update transactions, personal account views, and so forth. In addition to the URL, administrators can specify optional selectors for more finegrained caching rules. These additional selectors include the HTTP request method (GET, GET with query string, or POST) and, if POST is selected, the HTTP POST body of the documents. If no caching rules are specified or if no rules match a particular request, then OracleAS Web Cache behaves just as traditional proxy caches do; that is, it relies on standard HTTP header information to determine what is cacheable. Naïve proxy caches typically only cache static content for reasons discussed earlier in this paper