HTML5 Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/6194

SVNBugCommentTime (UTC)
6194[Gecko] [Internet Explorer] [Opera] [Webkit] Support 'no-store' in appcache. This means we can now allow cross-origin HTTPS caching, too, without making things worse than the regular HTTP cache.2011-06-07 23:09
Index: source
===================================================================
--- source	(revision 6193)
+++ source	(revision 6194)
@@ -73777,11 +73777,12 @@
   manifest is automatically cached even if it isn't explicitly
   mentioned.</p>
 
-  <p class="note">HTTP cache headers and restrictions on caching pages
-  served over TLS (encrypted, using <code title="">https:</code>) are
-  overridden by manifests. Thus, pages will not expire from an
-  application cache before the user agent has updated it, and even
-  applications served over TLS can be made to work offline.</p>
+  <p class="note">With the exception of "no-store" directive, HTTP
+  cache headers and restrictions on caching pages served over TLS
+  (encrypted, using <code title="">https:</code>) are overridden by
+  manifests. Thus, pages will not expire from an application cache
+  before the user agent has updated it, and even applications served
+  over TLS can be made to work offline.</p>
 
 <!--(doesn't currently function)
   <p><a href="http://www.whatwg.org/demos/offline/clock/clock2.html">View this example online</a>.</p>
@@ -74338,12 +74339,6 @@
   <p>Manifests may contain sections more than once. Sections may be
   empty.</p>
 
-  <p>If the manifest's <span title="url-scheme">&lt;scheme&gt;</span>
-  is <code title="">https:</code> or another scheme intended for
-  encrypted data transfer, then all URLs in <span
-  title="concept-appcache-manifest-explicit">explicit sections</span>
-  must have the <span>same origin</span> as the manifest itself.</p>
-
   <p>URLs that are to be fallback pages associated with <span
   title="concept-appcache-fallback-ns">fallback namespaces</span>, and
   those namespaces themselves, must be given in <span
@@ -74574,12 +74569,7 @@
       <span title="url-scheme">&lt;scheme&gt;</span> component than
       the manifest's URL (compared in an <span>ASCII
       case-insensitive</span> manner), then jump back to the step
-      labeled "start of line". If the manifest's <span
-      title="url-scheme">&lt;scheme&gt;</span> is <code
-      title="">https:</code> or another scheme intended for encrypted
-      data transfer, and the resulting <span>absolute URL</span> does
-      not have the <span>same origin</span> as the manifest's URL,
-      then jump back to the step labeled "start of line".</p>
+      labeled "start of line".</p>
 
       <p>Drop the <span title="url-fragment">&lt;fragment&gt;</span>
       component of the resulting <span>absolute URL</span>, if it has
@@ -75008,7 +74998,8 @@
     checking the magic signature), or if the server returned a
     redirect, or if the resource is labeled with a <span>MIME
     type</span> other than <code>text/cache-manifest</code>, then run
-    the <span>cache failure steps</span>.</p>
+    the <span>cache failure steps</span>. <a
+    href="#refsHTTP">[HTTP]</a></p>
 
    </li>
 
@@ -75039,15 +75030,18 @@
       entries</span>, wait for the resource for this entry to have
       either completely downloaded or failed.</p>
 
-      <p>If the download failed (e.g. the connection times out, or the
-      user cancels the download), then create a <span
+      <p>If the download failed (e.g. the server returns a 4xx or 5xx
+      response <span title="concept-http-equivalent-codes">or
+      equivalent</span>, or there is a DNS error, the connection times
+      out, or the user cancels the download), or if the resource is
+      labeled with the "no-store" cache directive, then create a <span
       title="concept-task">task</span> to <span>fire a simple
       event</span> that is cancelable named <code
       title="event-appcache-error">error</code> at the
       <code>ApplicationCache</code> singleton of the <span>cache
       host</span> the <code>Document</code> for this entry, if there
-      still is one, and append it to <var title="">task list</var>. The
-      default action of this event must be, if the user agent
+      still is one, and append it to <var title="">task list</var>.
+      The default action of this event must be, if the user agent
       <span>shows caching progress</span>, the display of some sort of
       user interface indicating to the user that the user agent failed
       to save the application for offline use.</p>
@@ -75062,11 +75056,6 @@
       be removed from the entry in <var title="">cache</var>
       (application caches never include fragment identifiers).</p>
 
-      <p class="note">HTTP caching rules, such as <code
-      title="">Cache-Control: no-store</code>, are ignored for the
-      purposes of the <span>application cache download
-      process</span>.</p>
-
      </li>
 
      <li><p>For each <span>cache host</span> associated with an
@@ -75233,8 +75222,9 @@
       5xx response <span title="concept-http-equivalent-codes">or
       equivalent</span>, or there is a DNS error, or the connection
       times out, or the user cancels the download), or if the server
-      returned a redirect, then run the first appropriate step from
-      the following list:</p>
+      returned a redirect, or if the resource is labeled with the
+      "no-store" cache directive, then run the first appropriate step
+      from the following list: <a href="#refsHTTP">[HTTP]</a></p>
 
       <dl class="switch">
 
@@ -75258,6 +75248,9 @@
        <dt>If the error was a 404 or 410 HTTP response <span
        title="concept-http-equivalent-codes">or equivalent</span></dt>
 
+       <dt>If the resource was labeled with the "no-store" cache
+       directive</dt>
+
        <dd>
 
         <p>Skip this resource. It is dropped from the cache.</p>
@@ -75288,6 +75281,10 @@
       without errors, and making non-manifest resources survive
       server-side errors.</p>
 
+      <p class="note">Except for the "no-store" directive, HTTP
+      caching rules are ignored for the purposes of the
+      <span>application cache download process</span>.</p>
+
      </li>
 
      <li>
@@ -75369,8 +75366,12 @@
     entries</span>, wait for the resource for this entry to have
     either completely downloaded or failed.</p>
 
-    <p>If the download failed (e.g. the connection times out, or the
-    user cancels the download), then run these substeps:</p>
+    <p>If the download failed (e.g. the server returns a 4xx or 5xx
+    response <span title="concept-http-equivalent-codes">or
+    equivalent</span>, or there is a DNS error, the connection times
+    out, or the user cancels the download), or if the resource is
+    labeled with the "no-store" cache directive, then run these
+    substeps:</p>
 
     <ol>
 

|