maxAgeFraction, Expires header questions
"Massimo B. " <[email protected]> Wed, 08 Jan 2014 09:58:18 +0100
| Newsgroups | gmane.comp.web.polipo.user |
|---|---|
| Message-ID | <[email protected]> |
Hi, I don't understand that variable in detail. Though "4.1.1 Tuning validation behaviour" has this documentation: "If an instance has no `Expires' header but has a `LastModified' header, it becomes stale when its age reaches either `maxAgeFraction' of the time since it was last modified or else the absolute value `maxAge', whichever happens first." The default is: maxAgeFraction float 0.100000 Fresh fraction of modification time. Is my understanding correct? 0.1 means 1/10, so if 100 minutes is the time since it was last modified, the object is stale when the age becomes 10 minutes? Why is this variable a factor and not absolute time? General question to understand the caching better: I tried to fine-tune the variables from chapter 4.1.1 , especially all the max*Age variables. I was wondering that the command ,----[ ] | wget -q -O - http://www.willuhn.de/products/jameica/releases/version-nightly `---- and also my browser returned an old version from the cache. Only wget --no- cache returned the new version. On 2014-01-07 I was getting "2.5.0" as result, but "2.7.0" was currently set and only returned by reloading the browser page. ,----[ /etc/polipo/config ] | allowedClients = 127.0.0.1 | cacheIsShared = false | censorReferer = maybe | censoredHeaders = from, accept-language | chunkHighMark = 104857600 | disableIndexing = false | disableServersList = false | diskCacheRoot = "/var/cache/polipo/" | diskCacheTruncateTime = 14d2h | logSyslog = true | maxAge = 56d1h | maxConnectionAge = 5h | maxConnectionRequests = 10000 | maxExpiresAge = 100d1h | maxNoModifiedAge = 7d | objectHashTableSize = 0 | objectHighMark = 16384 | parentProxy = "myproxy:8080" | proxyAddress = "127.0.0.1" | proxyName = "localhost" | relaxTransparency = maybe | serverIdleTimeout = 15m | serverMaxSlots = 10 | serverSlots = 10 `---- Actually there are 3 caches envolved: the browser cache, polipo, the myproxy The server response does not have any Expires header: ,----[] | $ wget -q --server-response -O - \ | http://www.willuhn.de/products/jameica/releases/version-nightly | HTTP/1.1 200 OK | Content-Length: 6 | ETag: "26aba4-6-4edd6a8588380" | Date: Tue, 07 Jan 2014 07:50:40 GMT | Last-Modified: Wed, 18 Dec 2013 22:35:10 GMT | Server: Apache/2.2.15 (Linux/SUSE) | Content-Type: text/plain | Accept-Ranges: bytes | Age: 89273 | Connection: keep-alive | Warning: 113 localhost:8123 Heuristic expiration | 2.7.0 `---- But the browser cache showed that object with Expires 2014-01-09 07:22:13 which could be the reason for returning the cached object. Who does add this Expires header? The Browser, polipo or the outside proxy? Best regards, Massimo (*looking forward for the next release*) ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk