>> I want to keep objects like media (avi|jpg|mp3) for 7 days in cache while >> telling the client "max-age=3d", keep office file for 3 >>days in cache while telling the client 1 day (using ATS 4.1.2 TTL are in >>seconds) > >I think you are overcomplicating things a bit though, use the protocol :). >http://tools.ietf.org/html/rfc7234#section-5.2.2.9, e.g. > > Cache-Control: max-age=259200, s-maxage=604800 > >This would be so easy if you could just configure your origin servers to >behave and send the above. Barring that, you could use >header_rewrite to modify the origin server response to just that. I just >cringe when people have to fight poorly configured origin >servers, this stuff belongs on the origin, and not on the caches.
Leif, thanks for the reminder but I don't really have this choice by now. Still trying to use regex_map with header_rewrite plugin with cond %{SEND_RESPONSE_HDR_HOOK} cond %{PATH} "/(avi|mp3|jpg)$/" rm-header Cache-Control add-header Cache-Control max-age=3d cond %{PATH} "/(doc|xls|ppt)$/" rm-header Cache-Control add-header Cache-Control max-age=1d I got this diag which shows only second %{PATH} condition is tested but also ending with a strange message "PATH requires remap initialization! Evaluating to false!". Even with a file named test.doc, no header rewrite action is done : (header_rewrite) activated transaction hook via remap.config: new hook=5 (header_rewrite_dbg) Calling CTOR for Resources (RemapAPI) (header_rewrite) rri: 0x7fffffffb8e0 (header_rewrite) Building resource structure for hook (17) (header_rewrite) Adding TXN client request header buffers (header_rewrite) Adding TXN client request header buffers for remap instance (header_rewrite) Appending PATH to evaluation value: test.avi (header_rewrite) Evaluating PATH (header_rewrite) Test regular expression (doc|xls|ppt)$ : test.avi (header_rewrite) returing with status: 0 (header_rewrite_dbg) Calling CTOR for Resources (InkAPI) (header_rewrite) Building resource structure for hook (5) (header_rewrite) Adding TXN client request header buffers (header_rewrite) Adding TXN client response header buffers (header_rewrite) PATH requires remap initialization! Evaluating to false! (header_rewrite) activated transaction hook via remap.config: new hook=5 (header_rewrite_dbg) Calling CTOR for Resources (RemapAPI) (header_rewrite) rri: 0x7fffff6f90b0 (header_rewrite) Building resource structure for hook (17) (header_rewrite) Adding TXN client request header buffers (header_rewrite) Adding TXN client request header buffers for remap instance (header_rewrite) Appending PATH to evaluation value: test.doc (header_rewrite) Evaluating PATH (header_rewrite) Test regular expression (doc|xls|ppt)$ : test.doc (header_rewrite) Successfully found regular expression match (header_rewrite) OperatorRMHeader::exec() invoked on header Cache-Control (header_rewrite) OperatorAddHeader::exec() invoked on header Cache-Control: max-age=1d (header_rewrite) adding header Cache-Control (header_rewrite) returing with status: 0 (header_rewrite_dbg) Calling CTOR for Resources (InkAPI) (header_rewrite) Building resource structure for hook (5) (header_rewrite) Adding TXN client request header buffers (header_rewrite) Adding TXN client response header buffers (header_rewrite) PATH requires remap initialization! Evaluating to false! regards, Denis