i have application server 10g (9.0.4) with serveral applications deployed in multiple OC4J instances.
There is a rule that instruct webcache to cache all image files (gif,jpg,png,etc) this rule is working good except for one application.
In webcache admin -> popular requests (not cached) i can see the reason these files are not cached.
Webcache matches the rule for caching images but , it "chooses" not to cache with the following reason: BY_SURROGATE_CONTROL_HEADER
Reading from the webcache admin manual i get litte info:
Cache Reason: The reason that the object is cached or not cached. Possible values are:
o BY_SURROGATE_CONTROL_HEADER: Cached or not cached because of information in the Surrogate-Control response header.
I just don't understand these Surrogate-Control response header.
I have reported this issue to application developer that claim they have no code enabling/disabling the caching of pages.
Can you give me some clarification in this issue ? what is surrogate-control header ? if this surrogate control is generated by application , how can i detect it ? how can i handle it ?
Oracle application server 10g (9.0.4) on windows 2003 server
Application built with BC4J framework
Found the problem !
The application deployed is protected with SSO, and SSO ads a control header to the pages that is protecting so it don't get cached.
the "workaround" is modify the mod_osso.conf file, edit the <location> tag to include the
Our remote users have complained for months about slow application response. By making this one, simple change to mod_osso.conf, the application performance has increased dramatically...
So... what other unfortunate defaults are there that I don't know about? (already found out that leaving "shared_servers" at "1" is a really bad idea.)