Disable Pagma and Cache-Control headers in SunOne WebServer 6.1
Hi,
I want the [Pragma] and [Cache-Control] headers completely disappear from SunOne WebServer 6.1 JSP responses (like the SunOne WebServer 6.0 SP8, http/1.1 but no [Pragma] and [Cache-Control] headers), can I achieve this?
Thanks,
Harry
Hi Harry
Do you mean that WebServer 6.0 SP8 provide a way to disable these two attributes? If so, that will be a regression issue for WS6..
Similar Messages
-
JRE Cache ignores the "Expire" and "Cache-Control: no-cache" directives.
My applet is using HttpURLConection to retrieve data from a server with Caching enabled. The cache contents are "revalidated" (via "if-modfied-since") each time the applet is started. However, subsequent requests to retrieve the same resource are always read from the cache with no validation even if the resource has expired.
The server is sending a valid "Expires:" tag and "Cache-Control: no-cache" tag in the response; but, the JRE refuses to recheck for an updated version of the resource even after the file has expired.
The JRE does seem to understand the "Cache-Control: no-store" tag; but, this is inefficient (no caching at all) when I'm tring to get it to not refetch the resource unless there's a change. Is there some other tag that the JRE is expecting to see?I have a similar problem except that I want my pages to not cache at all. The server is setting the Cache-Control: max-age to 0 and the Expires to "now" but JRE seems to ignore these settings, but only sometimes. Sometimes pages are fetched from cache and sometimes from the server.
In my applet I'm using a normal URLConnection like this:
URLConnection uc = new URL("http://<server>/method").openConnection();
uc.connect();
InputStream is = uc.getInputStream();
is.read();When my request headers look like this:
accept-encoding: gzip
Host: <server>
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_13
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alivethe page will not be cached and is requested again but this time without the accept-encoding, Pragma and Cache-Control. The adding (and removal) of the headers seems to happen inside the JRE, though. I'm not explicitly setting them.
The response header of the first request looks like this:
HTTP/1.1 200 OK
Date: Wed, 20 May 2009 12:55:07 GMT
Server: Apache/2.2.11 (Win32) mod_jk/1.2.26 PHP/5.2.8
Cache-Control: max-age=0
Expires: Wed, 20 May 2009 12:55:07 GMT
Vary: User-Agent,Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=120, max=79
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=iso-8859-1When the request is made with this header:
User-Agent: Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_13
Host: <server>
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-aliveThe response headers looks like this:
HTTP/1.1 200 OK
Date: Wed, 20 May 2009 12:55:07 GMT
Server: Apache/2.2.11 (Win32) mod_jk/1.2.26 PHP/5.2.8
Content-Length: 1016
Cache-Control: max-age=0
Expires: Wed, 20 May 2009 12:55:07 GMT
Vary: User-Agent,Accept-Encoding
Keep-Alive: timeout=120, max=83
Connection: Keep-Alive
Content-Type: text/html;charset=iso-8859-1And in this case the JRE sometimes fetches the request from the server and sometimes from cache. I have not been able to determine how the JRE decides to refresh, or why it sometimes sends an accept-encoding and Pragma header and sometimes not.
any help would be appreciated.
Alex -
Can't propagate Cache-Control headers with Surrogate-Control header
My application may set the following response header to cause webcache to process the esi:include's:
Surrogate-Control: content=ORAESI/9.0.4, max-age=3600
It and also may set the following intended for the browser cache:
Cache-Control: private
or say:
Cache-Control: max-age=3600
However Webcache removes this and always adds the following whenever surrogate-control has been set:
Cache-Control: max-age=0
This means I can't have browser caching and esi page compilation, just one or the other.
This seems to be designed behaviour can someone explain why this is and if it can be worked around?
I realise that the Cache-Control header should be ignored by webcache but why cant I propagate it to higher caches?Patrik,
You'll need to convert the meta http-equiv tags into actual HTTP headers before sending for Web Cache to be able to parse it. -
Controlling Cache-Control headers
We have an application written in BC4J 9.0.3.4 riding atop 9iAS 9.0.3.1.0.
The release notes for this version of 9iAS say
2484551 Microsoft Internet Explorer cannot open some file directories due to HTTP NO-STORE header
If users use Microsoft Internet Explorer 6.0.2600.0000, then they cannot open some attachments, such as Microsoft PowerPoint or voicemail directly. They have to save the file and open it from their file system. The file cannot be opened because Microsoft Internet Explorer 6.0 doesn't save the file to the <code>temp</code> folder when an HTTP no-store header is set.
Saying that this is fixed is, to say the least, iffy. A packet dump clearly shows the following headers being set at some point after JSP filters get a chance to kick in (i.e., probably by mod_oc4j itself):
Pragma: no-cache
Cache-Control: no-store
Surrogate-Control: no-store
Cache-Control: private
There doesn't seem to be any way of turning these headers off other than using .htaccess and mod_headers to explicitly delete them (which is definitely not ideal). Further, my tests indicate that these headers (probably only Cache-Control: no-store) prevent IE5.5 and IE6 both from launching external applications on the basis of Content-Type / extension, and from saving the page at all.
This is, admittedly, a violation of RFC2616 on IE's part: that RFC states that no-store is meant to apply to intermediate proxies, not to user agents themselves. But nonetheless I think Oracle should at least allow pandering to this particular bug; i.e., even if Cache-Control: no-store is on by default, it should be possible to turn it off.
Am I missing something? Is there any way to stop mod_oc4j adding these headers?I tried the brute-force approach:
Header set Cache-Control: no-cache
Header set Surrogate-Control: no-cache
in .htaccess.
Alas, .htaccess isn't being read, even with
<Directory /oracle/product/ias_903/j2ee/OC4J_DEV/applications>
AllowOverride FileInfo
</Directory>
in the httpd.conf.
This is confusing. Does mod_oc4j somehow ban the processing of .htaccess files even if the AllowOverride says otherwise? -
Mozilla Firefox 32.0.1 caching objects without cache control headers
Mozilla firefox is caching objects without any cache-control or expires header in response. The response does contain etag and date header but doesnt indicate anything about the duration it should be caching it. An example URL is https://www.priceless.com/content/dam/priceless/us/en/newyork/component/backgroundimages/NewYork_1920x596.jpg
Am I missing something very obvious here.That is a beautiful picture. I understand that you are looking for a return header information about expiration. The about:cache page will show that information akaik there is a column information about expiration time. Some expire and some don't. I am pretty sure the later is the case you are seeing.
-
CE HTTP 1.1 and Cache Control
Hi all,
I have two questions concerning CE and HTTP 1.1:
1) Does anyone know what happens on a Content Engine if a web server uses the HTTP 1.1 Cache-Control directive with the value PUBLIC?
How long does the object remain in cache?
2) What happens if I set http max-ttl in global configuration? Does this overwrite the Cache-Control directive?
Thanks in advance
FaustoI have noticed that when the cache-control directive set to no-cache="set-cookie", the Cache Engine receives incoming HTTP 1.1 Requests, but there is no hit in the cache. Wondering why the Content Engine fails to cache this? I haven't tried the value public.
-
We had very typical problem in our web application.
We are using Oracle AppServer 10.1.2. on Sun Solaris with Web-Cache Enabled.
When we are trying to access the pages the response object contains multiple Cache-Control headers, though we have not explicitly added through our code. Can any one tell me how to delete the response headers through code or at server settings. I have tried with "reset()" but of no use.
Because of this cache problem we are not able to generate the reports but the same it working with Firefox browser.
Thanks in advance.
KishoreIt's unfortunate that JSPs running in WebLogic can't override the default Cache-Control directives in Web Server. That's probably a bug in the WebLogic plugin. (It is possible for JSPs running directly on Web Server to override the default Cache-Control directives.)
As with any obj.conf directive, you can configure Cache-Control directives on a path-by-path basis. For example, the following would set Cache-Control: no-cache for /foo/*.jsp and Cache-Control: private for all other URIs:<Object ppath="/foo/*.jsp">
PathCheck fn="set-cache-control" control="no-cache"
</Object>
<Object name="default">
PathCheck fn="set-cache-control" control="private"
</Object>Information on obj.conf syntax, including how to configure separate objects for separate paths, can be found in the Syntax and use of obj.conf chapter of the NSAPI Programmer's Guide at http://docs.sun.com/source/817-6252/npgobjcn.html.
I'm not sure what you mean by "what are the services handled by the web server and the the app-server and how they interact with each other". However, it's worth noting that Sun ONE Web Server 6.1 is fully capable of running JSPs by itself; there's no need for a separate WebLogic server. -
I have an authenticated webapp with a servlet that send information back to the client browser that is not particularly sensitive. As such, I'd like for the client to be able to cache the retrieved data for a reasonable amount of time.
Thus, I've added the following code to my servlet:
long expireTime = System.currentTimeMillis() + (7 * 24 * 3600 * 1000); // Cache for one week
response.setDateHeader("Expires", expireTime);
response.setHeader("Pragma", "cache");
response.setHeader("Cache-control", "public");While my expires header is indeed getting set to the date that I specify, AS7 is ignoring my Pragma header and sending two (!) Cache-control headers (as seen in a packet dump using ethereal):
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n
Server: Sun-Java-System-Application-Server/7 2004Q2\r\n
Date: Sat, 23 Apr 2005 01:30:15 GMT\r\n
Content-type: message/rfc822\r\n
Expires: Sat, 30 Apr 2005 01:30:15 GMT\r\n
Pragma: No-cache\r\n
Content-disposition: attachment;filename=msg145206-11461.eml\r\n
Cache-control: no-cache\r\n
Cache-control: public\r\n
Transfer-Encoding: chunked\r\n
\r\n
HTTP chunked responseAm I doing something wrong, or is this a bug in AS7?
This is really causing a problem, because I want the browser to toss this data stream over to Outlook Express (the data is an e-mail message) but IE sees the no-cache header and refuses to write the file to disk, and thus, OE has no file to open.
Thanks,
BillOh, BTW we believe this header modification is happening because we are setting a cookie and so WLS sees this and adds its own header. Still, we don't want WLS to do anything with the headers.
-
Specific CACHE-CONTROL abilities?
This may be more of an actual server setting, but I thought I
would check and see if anyone came up with a way to do this through
straight CF coding.
On sites that require time-sensitive updates, we always use
the CFHEADER and CACHE-CONTROL settings ... it works very well, but
I am hoping to make this even more dynamic.
When you use cache-control in its default format, it causes
EVERYTHING on the page to not be cached and therefore reloaded.
What I am wondering is if there is a way to code CACHE-CONTROL so
it will still allow images to be cached, but not the actual HTML
page code. Reloading images all the time is not always necessary
and it would be nice to save bandwidth wherever possible.
Since caching is done by the browser, I am surprised there is
no way to specify what objects can be cached and what cannot with
these tags; so I am hoping I am just overlooking something.
Thanks in Advance.
IIS6:Win2003:CFMX7This isn't really an answer, but you could try looking into
serving the images from a different domain and setting cache
headers on the web server, then for the page set different cache
headers that expire immediately. Untested, Untried and just
throwing it out there.
ie
http://images.mydomain.com
http://www.mydomain.com
I get the idea from Yahoo's YSlow plug in for firefox which
rates the page, and one of the ratings is for CDN (Content Delivery
Network), try googling that.
Sorry can't be of any more specific help. -
Cache control directives for Weblogic 6.1
Hello:
I was wondering if anyone knew if one could configure Weblogic 6.1 to produce
cache control headers (ie "Cache-control: max-age=1800")? I realize that I should
probably be using a conventional HTTP server and the WLS plugin, but I'm just
doing some research here. So any help would be appreciated.
Thanks,
Scott ResnikCan you show us your obj.conf file?
Thanks
Manish -
Selective Cache-control in the web server
I am using weblogic 8.1 as the app server and Sun one 6.1 as the web server
In my obj.conf of the web server we have this
PathCheck fn="set-cache-control" control="private"
This caches all the pages.
But I don't want some pages to be cached in our site.
For this, I tried setting "no-cache" for the "Cache-control " of the response hedear, in corresponding jsps. But the webserver configuration is overriding this.
This configuration set in the webserver should be applicable for all the modules except for some urls .
can anybody tell me how to make this selective cache-control configuration in the obj.conf of sun one web server.
or if there is any way to prevent the set up in jsp from being overridden this webserver ?
Also it would be great if anybody can explain, what are the services handled by the web server and the the app-server and how they interact with each other....It's unfortunate that JSPs running in WebLogic can't override the default Cache-Control directives in Web Server. That's probably a bug in the WebLogic plugin. (It is possible for JSPs running directly on Web Server to override the default Cache-Control directives.)
As with any obj.conf directive, you can configure Cache-Control directives on a path-by-path basis. For example, the following would set Cache-Control: no-cache for /foo/*.jsp and Cache-Control: private for all other URIs:<Object ppath="/foo/*.jsp">
PathCheck fn="set-cache-control" control="no-cache"
</Object>
<Object name="default">
PathCheck fn="set-cache-control" control="private"
</Object>Information on obj.conf syntax, including how to configure separate objects for separate paths, can be found in the Syntax and use of obj.conf chapter of the NSAPI Programmer's Guide at http://docs.sun.com/source/817-6252/npgobjcn.html.
I'm not sure what you mean by "what are the services handled by the web server and the the app-server and how they interact with each other". However, it's worth noting that Sun ONE Web Server 6.1 is fully capable of running JSPs by itself; there's no need for a separate WebLogic server. -
hi,
I am getting problem in cache controlling in wml page for example a image displayed on the page is not displaying again but i am getting same in the console..help me out....It's unfortunate that JSPs running in WebLogic can't override the default Cache-Control directives in Web Server. That's probably a bug in the WebLogic plugin. (It is possible for JSPs running directly on Web Server to override the default Cache-Control directives.)
As with any obj.conf directive, you can configure Cache-Control directives on a path-by-path basis. For example, the following would set Cache-Control: no-cache for /foo/*.jsp and Cache-Control: private for all other URIs:<Object ppath="/foo/*.jsp">
PathCheck fn="set-cache-control" control="no-cache"
</Object>
<Object name="default">
PathCheck fn="set-cache-control" control="private"
</Object>Information on obj.conf syntax, including how to configure separate objects for separate paths, can be found in the Syntax and use of obj.conf chapter of the NSAPI Programmer's Guide at http://docs.sun.com/source/817-6252/npgobjcn.html.
I'm not sure what you mean by "what are the services handled by the web server and the the app-server and how they interact with each other". However, it's worth noting that Sun ONE Web Server 6.1 is fully capable of running JSPs by itself; there's no need for a separate WebLogic server. -
Weblogic setting Cache-control: no-cache?
I have a servlet filter that sets the Cache-control http header to "max-age=30" for static files such as *.css but in the end weblogic sends the value "no-cache".
When the browser asks for the same static file again weblogic responds with http 304 and Cache-control "max-age=0" thus overriding my filter again.
Is there any way to change the client side caching in weblogic (10.3.4)?
(btw the servlet filter works in tomcat)Hi,
1. response.setHeader("Cache-Control","no-cache");
This is used to prevent the browser from caching your dynamic content generated by a JSP or Servlet.
You set this attribute in the HTTP header of the response object which would tell the browser not to cache this content. So everytime you request the page again, the browser would make a new request, instead of showing you a cached page.
2. response.setHeader("Location", "error.html");
This is called redirecting. "Redirecting" is sending a response from your servlet to the browser telling the browser to go to a new location(make a new request)
The standard way to do this response.sendRedirect(String); -
Cache-control, Expires headers
I want JNLP files and JAR files to be cached by JNLP clients, but I want to prevent them from being cached in a browser / proxy server / ISP server of some sort (anything that would prevent the JNLP client from getting updates).
To stop a web page being cached I typically use the following:
response.setDateHeader("Expires", 1L);
// Set standard HTTP/1.1 no-cache headers.
response.setHeader(
"Cache-Control", "no-store, no-cache, must-revalidate");
// Set IE extended HTTP/1.1 no-cache headers (use addHeader).
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
// HTTP 1.0 header
response.setHeader("Pragma", "no-cache");This works well in stopping caching of web-pages, and it doesn't stop the Sun Java Web Start client (JRE 1.5) from caching JNLP / JAR files (I don't think it's actually checking any of the above headers).
However, I have read that setting the above headers can cause problems. Does anyone know the official line on this? I couldn't find anything in the JNLP spec.
If it makes a difference, the app will be deployed only on JRE 1.4 or later.LateNightMovies,
> Hi, thanks for your reply (and sorry for posting my
question
> twice)...
No worries. :)
> ** unfortunately, your solution doesn't work.
It's possible I didn't understand what you're after.
> My objective is to "not have the page stored" (saved) in
the
> cache (it contains data I don't want stored in client
browsers).
Aha. Nine times out of ten, when people say they want to
want to avoid
cacheing, what they mean is, "Get Flash to always ask for new
data," which
is what that blog entry describes. If it's important that the
data not be
cached at all....
> Adding a ? var - does ensure the page is always
retrieved
> from the server - but it still gets saved in the browser
cache.
Right.
> Eg. my url = page.asp?param=# (random number)
>
> The browser cache (Content.IE subdirectories) fill up
with
> files = page[1].html, page[2].html, page[3].html,....
Yup. Well, shoot. This question isn't something I can just
roll off
the top of my head, then. :-/ I should think that your HTML
header would
take care of that.
Are you appending the random number in your LoadVars method
calls? The
HTML page shouldn't be refreshing at all.
I know a few people I can ask for futher input, and I'll
report back to
this thread.
David Stiller
Adobe Community Expert
Dev blog,
http://www.quip.net/blog/
"Luck is the residue of good design." -
Cache-Control and Accept-Encoding support in Adobe AIR HTML Component
I am evaluating Adobe AIR's HTML component and trying to figure out what is supported.
I built the AIR app and had it point to www.google.com
I notice that the requests to fetch JS,CSS from Adobe AIR do not include Accept-Encoding: gzip header.
Does Adobe AIR's HTML Component support Accept-Encoding : gzip header ?
I also noticed that even though the content served with far futures expiry, i.e. has Cache-Control: maxage={value} subsequent requests are being made and content is not served from the browser's cache.
I observed this accross the app restarts.
Can someone please clarify support of the two above Http headers ?
Thank you.
-PrashantYou might also want to check out the useCache property to see if this helps. See these links:
http://forums.adobe.com/thread/726573
http://forums.adobe.com/thread/490497
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/html/HTMLLoader.h tml
Maybe you are looking for
-
Office 2013 (local) vs. Office 365 (cloud)
For the moment we are primarily interested in using the main Office 2103 apps from the user Desktops. (We do not want users to even store documents on the cloud) 1. Is there a URL indicating the feature differences between local and cloud Office 2013
-
Strange clicking sound on my Lumia 930 arround the...
When my camera is not activated, if I mildly shake my Lumia 930 I can hear a strange clicking sound on the upper part of the device, just arround the camera lense. Can it be the lenses just shaking, because when the camera is activated that sound di
-
Selection variable with default value as previous weeks mon through sun
Hi Experts, 1.) I need to create a Selection Variable ZTRANS_DT ( type Interval ), with the default value as "Previous week, Monday Through Sunday" . Should we have to write a customer exit to populate these interval values dynamically every time th
-
Can I stop a text from being read by the wrong person
Can I stop an unread text message
-
Referencing R3 Billing Document in CRM Complaint
Hi Experts, We have a requirement of R3 billing replication to CRM Billing Engine. Could you please let me know the steps to replicate the R3 Builling docs to CRM??? In my scenario we have to create a Complaint with reference to R3 billing Doc. As fa