ATS does support the no-cache headers but I believe it's controlled by a config.

You may want to check the setting proxy.config.http.cache.ignore_client_no_cache



> On Oct 3, 2016, at 4:26 AM, Arnold Maderthaner <[email protected]> wrote:
> 
> ETag might be used in the future but is not available atm. I can only
> use "Cache-Control: no-cache" for the moment.
> The question is also why doesn't TS refresh if I send a "no-cache"
> request ? shouldn't it by default respect this header value ?
> 
>> On Mon, Oct 3, 2016 at 1:23 PM, Reindl Harald <[email protected]> wrote:
>> 
>> 
>>> Am 03.10.2016 um 13:18 schrieb Arnold Maderthaner:
>>> 
>>> I have an issue with my TS setup.
>>> My use case is that I want to cache images in TS and keep them for a
>>> very long time and only go back to origin if needed (which is
>>> indicated by the client request).
>>> Caching basically works for me if I set
>>> proxy.config.http.cache.required_headers=0 as my origin server doesn't
>>> supply lifetime values.
>>> My issue is that sometimes the images changes and than I need to get a
>>> fresh copy from origin.
>>> So I tried to use "Cache Control:no-cache" header to obtain a new copy
>>> but TS still gives me the old version. I cannot use any time based
>>> triggers to obtain a new copy from origin as the images are more or
>>> less static (99% of the time) but there are exceptions where the
>>> client specifies with the Cache Control header to revalidate the data
>>> with origin
>> 
>> 
>> why don't you just define a short expire on the origin since when it's
>> reached ATS verifies with the ETAG header from the origin if it needs to
>> fetch again and if not the repsonse is just a "304 Not Modified" without any
>> body or overhead?
>> 
>> "keep them for a very long time and only go back to origin if needed" sounds
>> like a very broken concept
>> 
>> <IfModule mod_expires.c>
>> ExpiresActive On
>> ExpiresByType text/css A30
>> ExpiresByType text/javascript A30
>> ExpiresByType application/javascript A30
>> ExpiresByType application/x-javascript A30
>> ExpiresByType text/plain A30
>> ExpiresByType text/xml A30
>> ExpiresByType application/xhtml+xml A30
>> ExpiresByType application/xml A30
>> ExpiresByType image/jpeg A60
>> ExpiresByType image/jpg A60
>> ExpiresByType image/gif A60
>> ExpiresByType image/png A60
>> ExpiresByType text/html A60
>> ExpiresByType text/comma-separated-values A60
>> ExpiresByType text/tab-separated-values A60
>> </IfModule>

Reply via email to