<span class="Apple-style-span" style="font-family: Arial; "><div style="margin-top: 0px; margin-bottom: 0px; "><font class="Apple-style-span" face="Arial">Most apps provide different contents for the same uncacheable main-page URL, depending on the identity of the user, which is typically stored in a cookie and read by the server.<br>
However, the HTML5 AppCache spec doesn&#39;t allow cookies to influence the choice of AppCaches or the contents of a response returned by the cache.</font></div><div style="margin-top: 0px; margin-bottom: 0px; "><br></div>
<div style="margin-top: 0px; margin-bottom: 0px; ">This makes it a lot harder, but not impossible, for developers of existing apps to start using AppCache, while still supporting multiple users per browser or browser profile.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">Without changing the user-visible URL structure of an app, developers might support multiple users, by replacing their server-generated user-specific main page, with a generic cacheable JS app that does this:</div>
<div style="margin-top: 0px; margin-bottom: 0px; ">1) Establish the user&#39;s identity using a cookie, or a database record, or a session key-value store.</div><div style="margin-top: 0px; margin-bottom: 0px; ">2) If the user can be identified, load the user-specific resources (JS, CSS, data, etc.) from the network and/or local storage, possibly including a separate AppCache with user-specific or fingerprint-specific URLs.  Otherwise, load the unknown-user version or a login page.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">That&#39;d be a complete restructuring of the main page, but it&#39;s possible.  I suspect that this is the model the AppCache was designed to support.</div>
<div style="margin-top: 0px; margin-bottom: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; ">A more radical change to existing apps, and app design in general, would be to include account-identifying information in the user-visible URL.  The main page could redirect users to their user-specific page or the unknown-user page.</div>
</span>