Select to view content in your preferred language

ArcGIS Server 10.2 -  HTTP Cache Control functionality changed?

2181
1
08-28-2013 09:01 AM
JasonGreenlaw
Regular Contributor
I just installed ArcGIS Server 10.2 and noticed that my JSAPI viewer no longer interacts with my services in the same way.  My dynamic map services are time-enabled and my viewer includes a time slider. 

Previously, I could hit the animate button or use my scroll wheel to go through each time-step and pre-download each image; once each time-step had been downloaded once, I could animate very smoothly (especially noticeable when scrolling with mouse wheel). 

Now, it seems ArcGIS Server 10.2 has changed the HTTP header sent with each image to specify:

Cache-Control:max-age=0,must-revalidate


Previously, the Cache-Control, header included a nonzero value for 'max-age' and did not include 'must-revalidate', meaning that my browser was able to use its cache to quickly display images that had already been downloaded.

The implications of this are many more HTTP requests (even if most of them result in HTTP 304 "Not Modified"), and more importantly animation does not work like it used to, and I can no longer scroll through my preloaded time-steps quickly; there is now a delay when the map's time extent is changed, even if the image has already been downloaded, because my browser has to confirm with AGS that the underlying image has not changed.

Is there a workaround?  Maybe some obscure service configuration parameter or JSAPI option?  disableClientCaching is already false in my viewer.

Please Help!
Jason
Tags (2)
0 Kudos
1 Reply
JasonGreenlaw
Regular Contributor
I did some more searching and came across the following Nimbus bug which was "fixed" at 10.2:

NIM086844 Do not set cache-control with max-age=86400 in map service's ExportMap operation
(f=image) response header


It appears that this "fix" introduced a new problem to the way clients and servers interact by requiring clients to re-query the server before using their own browser cache.

Is there some way to configure the max-age value??
0 Kudos