: Apache/PHP => Send out expire = A + 10 years => Squid => Send out expire = A + 0 ... : So until my program purege cache from Squid, it will keep cache in : Squid as long as possible; on the other hand, client will request the : latest content from Squid everytime. if your goal really is for squid to cache until you PURGE (as opposed to allowing every response from your originserver to specify a specific and unique "Internal Expires" header as well as a "Public Expires" header then you don't need to "modify" the Expires header at all. Take a look at the options you cna specify on refresh_pattern ... using override-expire, ignore-no-cache, ignore-private will let you cache things according to the refresh_pattern "Min" time regardless of what headers the server sets ... so then you set the min to 10years and you're good to go. -Hoss