I have problems with the Application cache, that seem to be only related to Firefox Desktop and Firefox on Android.
This is my manifest file, named cache.manifest.php
(PHP is used to set the correct HTTP headers):
CACHE MANIFEST
CACHE:
images/user.png
images/password.png
lang/de.js?contenthash=e4943126757ac9785cb499482625e0fc
lang/it.js?contenthash=e7c3f04d103d19685436836d445c2a66
images/vismode.png
images/box_tall.png
images/box_tall-red.png
images/box_tall-yellow.png
images/exit.png
fonts/Lato-300.woff
main.css?hash=content-hash-0aba852b903deacca756946164306753
3rdparty.js?hash=content-hash-a4954a81d109d892861216a3c20db476
core.js?hash=content-hash-8330a5d0f688d1f5f31a606d4def86ba
commonui.js?hash=content-hash-09e98ff1134c9f6030766b6216b1885a
zipperlebh.js?hash=content-hash-43070707ebbd8d5206cf3bb555e8430f
NETWORK:
/ajax.php
/error_notify_handler.php
/getfile.php
/getmedia.php
/http-proxy.php
/remotedesktop.php
# complete install hash: 5674308eabef29c807d72f536813e343
# index.php hash: cbee5e08081f0d0cbe70102922ead187
It is served with these HTTP response headers:
Cache-Control: max-age=1, must-revalidate
Connection: keep-alive
Content-Length: 967
Content-Type: text/cache-manifest
Etag: 65b6119134c5c0e0ba80b9d5635184a5
x-powered-by: PHP/5.4.10
With the stock Android browser or Chrome on desktop I get the expected behavior: the application works offline and is updated when the manifest changes. So far, so good.
However, with Firefox I get odd results:
- Firefox on Windows (versions 28 through 30) caches the application forever, never checking the manifest. Neither the browser nor the server show attempts to load the manifest to check it for updates. However, the application works as expected in offline mode.
- Firefox version 27 worked fine, AFAIK
- Even accessing the manifest URL directly by typing it in the address bar causes no HTTP request at all - the URL is read from cache.
- When accessing the manifest URL directly, but with a query string added leads to theoretically correct behavior: the browser checks the server if the file did change (and gets an HTTP 304, for example). Probably this deviant behaviour is related to the fact, that this modified URL is no more part of the cached application.
- I tried to add a
Cache-Control: no-store
header to the manifest and also tried to add the manifest URL to theNETWORK
section of the manifest, without any luck. - Firefox on Android is the exact opposite: it apparently never caches the application. When offline, the page cannot be displayed.
I found a lot of hints on the subject, but still cannot find a solution to this problem.