Description
We still get reports about people not seeing updates, or reports about updates taking very long to show up. One reasons could be proxies. Those will probably cache old packages (and most importantly and probable: the description files) for quite a while.
Problem Analysis: Currently, the installation servers reply to a GET request from the installer like this:
HTTP/1.1 200 OK
Server: Apache
ETag: "ab66c98e3d316b3b4fd8e7068b4d9b68:1306925606"
Last-Modified: Wed, 01 Jun 2011 10:53:26 GMT
Accept-Ranges: bytes
Content-Length: 40
Content-Type: text/plain
Date: Wed, 22 Jun 2011 22:05:25 GMT
Connection: keep-alive
In order to avoid caching by corporate proxy servers, a few headers should be set (see e.g. http://labs.qt.nokia.com/2011/04/29/http-caching-with-qt/ or http://support.microsoft.com/kb/234067/en-us):
CacheControl: no-cache
Pragma: no-cache
Expires: -1 // instantly
If that is not possible, the installer can try to pull the files with some random query (GET /foo.7z?id=3534534534543), where the value of ID is random and not evaluated by the servers. This should trick all proxy servers that are not very very broken into assuming this is new content every time (since the content of the file could be changing with the id).
Another way would be to use HTTPS, since the transport stream cannot be cached by proxies in that case (although there are exceptions to that as well, don't ask...). However, this of course adds additional load to the CDN servers.