Cache based on Expires header
Is there a way to configure Proxy Server to cache "static" jsps that serve with "Expires" headers?
Can you please explain a bit more?
Right now i assume from your question that something that you like to get
cached is not getting cached.
Proxy will not cache a response if any of the following scenarios happen:
1. An "Expires:" header is present but without a valid value
2. Response headers contain a "Pragma: no-cache"
3. Response headers contain a "Cache-control: no-store"
4. Response headers contain a "Cache-control: private"
5. Response headers do not contain a "Last-modified:" header
6. Response headers contain a "Last-modified:" header with an invalid value
As of now we do not provide an option to ignore Cache-control / Pragma
directives, but that feature should appear in the next service pack (4.0.10).
Similar Messages
-
# Question
Can you please help to understand how the firefox decides on the Expires date for a cached javascript file ( my server did not set any Expire header, but firebox set it down). I tried to understand but different javascript file gets different Expires date value when it is being cached. Please help me as I tried lot and could not get proper answer for this. Thanks in Advance.Try posting at the Web Development / Standards Evangelism forum at MozillaZine. The helpers over there are more knowledgeable about web page development issues with Firefox. <br />
http://forums.mozillazine.org/viewforum.php?f=25 <br />
You'll need to register and login to be able to post in that forum. -
Adding Expired heading with static value for reverse proxy
I'd like to add an Expired heading to a response leaving a reverse proxy to make sure that the browser will not cache the file locally (or at least attempt to prevent it).
Is this possible with SWP? I cannot find out how to do this in the admin interface at least. I'm running 4.0.5 B04
thanx,I'd like to add an Expired heading to a response leaving a reverse proxy to make sure that the browser will not cache the file locally (or at least attempt to prevent it).
Is this possible with SWP? I cannot find out how to do this in the admin interface at least. I'm running 4.0.5 B04
thanx, -
Expires header with a 304 response
I'm using iPlanet 4.1SP9. I've written a custom SAF to add an Expires header to a response. When the page expires the browser send a conditional GET (if-modified-since). iPlanet responds with a plain 304 with no new Expires header. Therefore the page keeps expired in browser and the browser keeps issuing conditional GETs. I want to respond to the conditional GET with a 304 code AND a new Expires header. Can this be accomplished with either standard functionality or a custom SAF.
Hi,
Please have a check on the below link which talks about Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity.
http://blogs.msdn.com/b/windowsazurestorage/archive/2010/07/09/understanding-windows-azure-storage-billing-bandwidth-transactions-and-capacity.aspx
Hope it helps.
Regards,
Mekh. -
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 -
Does SSRS Cache report generate a new cache automatically after expiration?
When you cache a report in SSRS 2008 and set it to expire after a number of minutes, for example 30 minutes, Does the report refresh after it expires and generate a new cached report automatically or it refreshes only when the report is requested or run?
For example, if I run the report at 10:00AM, it will expire at 10:30AM, then when someone else runs the report at 11:15AM, Will there have been a new Cached report or it will be processed as new(in other words, it is not based on a Cached report)?
Thanks!Hi,
When the expire time is reached, the new cache will not be created until the next time the report is requested.
If someone runs the report at 11:15AM, the last used time would be 11:15AM and it will be expired at11:20AM. There is no cached report, unless you have a cache refreah plan.
You can check the ExecutionCache table in the ReportServerTempDB to verify if a new cache is created or not.
Reference:
Caching Reports (SSRS)
http://technet.microsoft.com/EN-US/library/ms155927.aspx
Thanks.
Tracy Cai
TechNet Community Support -
Specific smarthost based on email header data
Hi All
We plan on upgradeing to Exchange 2010 and then 2013. Our requirement is that we have a service provider who handles our bulk email and one that handles our non-bulk email
My Question is - in 2010 or 2013 Can Exchange be configured to inspect the email and based on a custom string in the header of the email (eg. X-Header BULKMAIL) use a specific Send Connector who should use a specific smarthost
Thanks in advanceHello,
Is there any update on this thread?
Thanks,
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected]
Simon Wu
TechNet Community Support -
How to register a callback for cache objects that expire it's TTL?
My scenario is a list of calling telemetry agents, pinging the server with some status. I need to adjust the control rule when devices drop but I need to know what was the device last contribution.
How do I find all the objects that are about to expire without having to periodically vacuum the cache?
Does TTL expiration fire a notification with the existing object (before removing it) to the callback?
If yes what is the filter operation: Remove?The documentation makes no description on how the duration parameter interacts with notifications.
I tried a sandbox project.
Created a DataCache object.
Register a callback with filter:
DataCacheOperations
filter = DataCacheOperations.RemoveItem;
The callback sends to the Output screen the notifications
public static void OnCacheNotificationReceived(string myCacheName,
string myRegion,
string myKey,
DataCacheItemVersion itemVersion,
DataCacheOperations OperationId,
DataCacheNotificationDescriptor nd)
//display some of the delegate parameters
Debug.WriteLine("A cache-level notification was triggered!");
Debug.WriteLine(" Cache: " + myCacheName);
Debug.WriteLine(" Region: " + myRegion);
Debug.WriteLine(" Key: " + myKey);
Debug.WriteLine(" Operation: " + OperationId.ToString());
Debug.WriteLine("");
Inserted 1 object using a duration of 30 seconds
_cache.Put(key, obj, TimeSpan.FromSeconds(30));
Then sleep 10 minutes:
Thread.Sleep(TimeSpan.FromSeconds(600));
The callback fired about 5 minutes after the Put method.
Here is my config
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="[my role]"/>
<clientNotification pollInterval="30" maxQueueLength="10000"/>
</dataCacheClient>
What I did wrong? -
Microsoft Enterprise Cache 5.0 (Isolated Cache) is not Expiring !!!
Hi,
I am using the Enterprise Cache from Microsot Practise. this is Isolated cache. which is storing into SQL server. when i am giving the Expiration time less then 5 min is working fine. if i give more than 5 min its not expiring from the DB.
Note : time : 5 min , CacheExpiryType : Absolute
refere the code below:
public void Add(string value, string objectvalue,int timeout, string CacheManagerValue)
DateTime dt;
ICacheManager AddCacheManager = CacheFactory.GetCacheManager(CacheManagerValue.ToUpper());
int timeoutinminute;
if (timeout != 0)
timeoutinminute = timeout;
else
timeoutinminute = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["DagCacheTimeout"].ToString());
string Cachetype = System.Configuration.ConfigurationManager.AppSettings["CacheExpiryType"].ToString();
if (Cachetype.Trim().ToUpper() == "SLIDING")
AddCacheManager.Add(value, objectvalue, CacheItemPriority.Normal, null, new SlidingTime(TimeSpan.FromMinutes(timeoutinminute)));
else if (Cachetype.Trim().ToUpper() == "ABSOLUTE")
dt = System.DateTime.Now.Add(TimeSpan.FromMinutes(timeoutinminute));
AddCacheManager.Add(value, objectvalue, CacheItemPriority.Normal, null, new AbsoluteTime(dt));
else
AddCacheManager.Add(value, objectvalue, CacheItemPriority.Normal, null, new NeverExpired());Hello Sathishkumar,
For issues regarding Microsoft Enterprise Libraries, there is a specific forum, i would suggest that you could post it to that forum:
https://entlib.codeplex.com/
Thanks for your understanding.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Enterprise Cache (Isolated Cache) is not Expiring for Absolute time
Hi,
I am using the Enterprise Cache from Microsot Practise. this is Isolated cache. which is storing into SQL server. when i am giving the Expiration time less then 5 min is working fine. if i give more than 5 min its not expiring from the DB.
Note : time : 5 min , CacheExpiryType : Absolute
refere the code below:
public void Add(string value, string objectvalue,int timeout, string CacheManagerValue)
DateTime dt;
ICacheManager AddCacheManager = CacheFactory.GetCacheManager(CacheManagerValue.ToUpper());
int timeoutinminute;
if (timeout != 0)
timeoutinminute = timeout;
else
timeoutinminute = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["DagCacheTimeout"].ToString());
string Cachetype = System.Configuration.ConfigurationManager.AppSettings["CacheExpiryType"].ToString();
if (Cachetype.Trim().ToUpper() == "SLIDING")
AddCacheManager.Add(value, objectvalue, CacheItemPriority.Normal, null, new SlidingTime(TimeSpan.FromMinutes(timeoutinminute)));
else if (Cachetype.Trim().ToUpper() == "ABSOLUTE")
dt = System.DateTime.Now.Add(TimeSpan.FromMinutes(timeoutinminute));
AddCacheManager.Add(value, objectvalue, CacheItemPriority.Normal, null, new AbsoluteTime(dt));
else
AddCacheManager.Add(value, objectvalue, CacheItemPriority.Normal, null, new NeverExpired());Hello Sathishkumar,
For issues regarding Microsoft Enterprise Libraries, there is a specific forum, i would suggest that you could post it to that forum:
https://entlib.codeplex.com/
Thanks for your understanding.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Dynamic read file based off inbound header
This is all done with BPEL
1. We want to get a file from a server VIA FTP adapter. So we setup an ftp adpter to get L11*.TXT (Any files beginning with L11)
1A.So we create this FTP adapter and then we create a receive activity to get this file from the FTP adapter.
***********Now mind you we have created our variables that come into play later such as inbound FTP adapter header & outbound FTp adapter header*************
2. Below this receive we create An assign activity with a copy operation.
Now for this assign we simply create a copy operation that includes our headers. Specifically we choose why down in the heirachy of Inbound and outbound ftp adter headers the :filename option
2A. So what we have is an assign with a copy operation from in bound ftp adapter to outbound ftp adapter
3. Then we have our fist invoke. ********Now mind you ************ BPEL cannot overwrite a file and the customer wants the file name the same as was picked up. Meaning no %seq # or %date or date stamp whatever you perfer.
So we do this first invoke and attach it to another FTP adpter that gets Sync file . Now this second ftp adpter will use the filename of the originally picked up file to go "pick up" and delete it from destination. We kinda trick the program if you will. So this ensures we dont delete a file that has a replacment behind it. Also ensures no overwriting or %seq # is needed.
On this invoke we have under adapters section Input header variable: OutboundFtpHeader (Mind you we did a copy on the first assign from inbound to outbound header varibale.)
We do nothing with any data collected between the first invoke and syncgetftpadapter. We just make it think it is going out picking up a file. And in this perspective we can choose delete after the pick up and inevitably it will "pick up file" At same time now that file is deleted on destination, thus making overwriting and %seq # not needed.
4.
We create another assign below our invoke
this has our inbound header copied to outbound once again
Specifically :filename
5.
This will lead to another invoke which leads to another ftp adapter that drops off the orginal file that was picked up now it can drop it off with that same filename as picked up and no overwriting neccassary because the file was deleted off the destination already.
Well when you make a Put ftp adapter you must specify a filname and we just want a dummy filename well we thiunk that is a dummy, because we are trying to use the orginal file name as the one to make it when it drops off whatever filename it picked up .
for example we choose test.txt thinking inbound variable will overwrite it
but the right file gets transferred but wrong file name attached.
my guess is that the putftpadapter overwrites any "filename specified" Or inbound header file name. lol you need to have a file name on the put you need one no way around it.
So i guess what im trying to do is pick up files then have the program dynamically be able to drop off that filename and contents to the destination.
Icould create three seperate programs for our three L11 files but that is alot of overhead?
Message was edited by:
vandeHmmm maybe someone can point me to a site that explains how to put catches in. I mean i know how to put them in but i want to make sure im doing this correctly. Also maybe debatching, I have heard of this but i want to understand how exactly it works and how to implment this.
Ok and one more thing ............ I have a 3 files as noted above that are suppose to move. Disregard my problem with send three and all that for a moment, Now I have stated above that we have a little trick included in this where we put a get on the source to "get" the files off the source cause for some reason it wont overwrite the file. Well on was doing some testing on my box. I got an exact replica of the files that we are doing this project for and i setup a test bpel project on my machine and deployed to our test env. Now I was deploying to our test env before also but the source server was a corporate server up in Canada. Now when i did this it overwrote the file :( so my next guess was hmmm maybe the source server FTP is not setup for our username to be able to overwrite the files???
I have a simple local FTP server and was looking at the setup, and my question is. There is an option(s) to pick for new user setups
delete
write
read
ammend
Would ammend give the right to overwrite ?
Not 100% sure the source is running the same ftp application as I am locally but it will overwrite a file
One more thing sorry lol
To try my catches out i would have to somehow make the file error in the middle os the process?
I was thinkin of that yesterday I'm like well i put the catch in but how do i know if it will truely work
Message was edited by:
vande -
To Get process type based on billing header guid in CRM
I have the billing header GUID, now I need to identify the process type or the transaction type of the order for which this billing was triggered!
Any idea of how?From the database table /1bea/crmb_bdi fetch the source header number....
now, from the database table crmd_orderadm_h fetch the process type... -
Tool to make a "nice" ASCII based company standard header.
Dear List,
I am looking for a free tool which we can use to generate a "nice"
ASCII file header, which we can use then as a standard for all our JAVA source code. e.g.
~~~~~~~~~~~~~~~~~~~~~~~
~ My company ~
~ 27.07.2005 ~
~ test.java ~
~~~~~~~~~~~~~~~~~~~~~~~
public class test{
Would appreciate any feedback!
regards
Benbanner.exe AINT THIS NICE?
| '||' '|. '|' |''||''|
||| || |'| | ||
| || || | '|. | ||
.''''|. || | ||| ||
.|. .||. .||. .|. '| .||.
|''||''| '||' '||' '||' .|'''.|
|| || || || ||.. '
|| ||''''|| || ''|||.
|| || || || . '||
.||. .||. .||. .||. |'....|'
'|. '|' '||' ..|'''.| '||''''| .|.
|'| | || .|' ' || . |||
| '|. | || || ||''| '|'
| ||| || '|. . || |
.|. '| .||. ''|....' .||.....| .
'|'
''''''''' '''' '''''''''' ''''''''' -
How long is a 301 redirect cached before it expires?
I have two domain names, let's call them example.com and example.org. Originally, example.com redirected with a 301 redirect to example.org. Now I would like to reverse it, so example.org redirects to example.com.
I understand that 301 redirects are cached in Firefox. I am able to clear the cache in Firefox and get the new website. My question is, for other users, how long is the 301 redirect at example.com cached before Firefox goes and checks again to see if anything has changed?
Another related question: Let's say I add a 301 redirect on example.org to example.com. Then a user who has the old 301 redirect on example.com in their cache tries to visit example.com. Firefox will send them directly to example.org, and they will then get a 301 redirect back to example.com. What will Firefox do then?If you actually take care of your device... the only limit on it's life is the battery.
Apple makes no statements, from what I've found, on the life expectancy of the battery. That being said, many people are still using original and 3G iPhones with the original battery, so that's 4-5 years at least. -
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.
Maybe you are looking for
-
IPOD CLASSIC NOT RECOGNIZED BY ITUNES 8
Having a problem as my IPOD Classic is not recognized by ITUNES 8, plug into MacBook Pro via usb but the ITUNES 8 software fails to identify connection, anyone else having this problem and is there a fix available?
-
MY AIRPORT TIME CAPSULTE WONT CONNECT TO THE INTERNET
i bought a new airport time capsule. connected it to my modem/router via ethernet cable. plugged it in, and cant get it setup from there. the airport utility is saying it's not connected. help would greatly be appreciated!
-
my Atv3 is due for an update and ive tried several times to install it but although it downloads it never finishes installing and tells me that it wasnt possible to update and to try another time. I try every other day and it only inches forward in t
-
Question about filtering by multiple keywords
I must be missing something, because setting up a filter using multiple keywords doesn't seem to be working for me. I'm clicking "Text" in the Library Filter, then selecting "Keywords" and "Contains All". When I type in multiple keywords, separated b
-
AirPort Utility was unable to find your Apple wireless device after restart
I keep getting this message when I try to setup my time capsule. "The settings for this Apple wireless device have been successfully updated, but there was a problem re-joining the wireless network or finding the Apple wireless device. You may need t