hixie: 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. (whatwg r6194)

hixie: 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. (whatwg r6194)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4963&r2=1.4964&f=h
http://html5.org/tools/web-apps-tracker?from=6193&to=6194

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4963
retrieving revision 1.4964
diff -u -d -r1.4963 -r1.4964
--- Overview.html 7 Jun 2011 00:00:19 -0000 1.4963
+++ Overview.html 7 Jun 2011 23:09:54 -0000 1.4964
@@ -318,7 +318,7 @@
 
    <h1>HTML5</h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id="editor-s-draft-6-june-2011">Editor's Draft 6 June 2011</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-7-june-2011">Editor's Draft 7 June 2011</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -464,7 +464,7 @@
   Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation
   track.
-  This specification is the 6 June 2011 Editor's Draft.
+  This specification is the 7 June 2011 Editor's Draft.
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group
   actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working
   group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
@@ -46603,11 +46603,12 @@
   files and make them available even when the user is offline.<p class="note">Authors are encouraged to include the main page in
   the manifest also, but in practice the page that referenced the
   manifest is automatically cached even if it isn't explicitly
-  mentioned.<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><h5 id="appcacheevents"><span class="secno">5.6.1.1 </span>Event summary</h5><p><i>This section is non-normative.</i><p>When the user visits a page that declares a manifest, the browser
+  mentioned.<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><h5 id="appcacheevents"><span class="secno">5.6.1.1 </span>Event summary</h5><p><i>This section is non-normative.</i><p>When the user visits a page that declares a manifest, the browser
   will try to update the cache. It does this by fetching a copy of the
   manifest and, if the manifest has changed since the user agent last
   saw it, redownloading all the resources it mentions and caching them
@@ -47023,10 +47024,7 @@
 
 
   </dl><p>Manifests may contain sections more than once. Sections may be
-  empty.<p>If the manifest's <a href="#url-scheme" title="url-scheme">&lt;scheme&gt;</a>
-  is <code title="">https:</code> or another scheme intended for
-  encrypted data transfer, then all URLs in <a href="#concept-appcache-manifest-explicit" title="concept-appcache-manifest-explicit">explicit sections</a>
-  must have the <a href="#same-origin">same origin</a> as the manifest itself.<p>URLs that are to be fallback pages associated with <a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">fallback namespaces</a>, and
+  empty.<p>URLs that are to be fallback pages associated with <a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">fallback namespaces</a>, and
   those namespaces themselves, must be given in <a href="#concept-appcache-manifest-fallback" title="concept-appcache-manifest-fallback">fallback sections</a>,
   with the namespace being the first URL of the data line, and the
   corresponding fallback page being the second URL. All the other
@@ -47198,10 +47196,7 @@
       <a href="#url-scheme" title="url-scheme">&lt;scheme&gt;</a> component than
       the manifest's URL (compared in an <a href="#ascii-case-insensitive">ASCII
       case-insensitive</a> manner), then jump back to the step
-      labeled "start of line". If the manifest's <a href="#url-scheme" title="url-scheme">&lt;scheme&gt;</a> is <code title="">https:</code> or another scheme intended for encrypted
-      data transfer, and the resulting <a href="#absolute-url">absolute URL</a> does
-      not have the <a href="#same-origin">same origin</a> as the manifest's URL,
-      then jump back to the step labeled "start of line".</p>
+      labeled "start of line".</p>
 
       <p>Drop the <a href="#url-fragment" title="url-fragment">&lt;fragment&gt;</a>
       component of the resulting <a href="#absolute-url">absolute URL</a>, if it has
@@ -47550,7 +47545,7 @@
     checking the magic signature), or if the server returned a
     redirect, or if the resource is labeled with a <a href="#mime-type">MIME
     type</a> other than <code><a href="#text-cache-manifest">text/cache-manifest</a></code>, then run
-    the <a href="#cache-failure-steps">cache failure steps</a>.</p>
+    the <a href="#cache-failure-steps">cache failure steps</a>. <a href="#refsHTTP">[HTTP]</a></p>
 
    </li>
 
@@ -47575,13 +47570,16 @@
       entries</a>, 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 <a href="#concept-task" title="concept-task">task</a> to <a href="#fire-a-simple-event">fire a simple
+      <p>If the download failed (e.g. the server returns a 4xx or 5xx
+      response <a href="#concept-http-equivalent-codes" title="concept-http-equivalent-codes">or
+      equivalent</a>, 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 <a href="#concept-task" title="concept-task">task</a> to <a href="#fire-a-simple-event">fire a simple
       event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
       <code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
       host</a> the <code><a href="#document">Document</a></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
       <a href="#shows-caching-progress">shows caching progress</a>, 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>
@@ -47594,10 +47592,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 <a href="#application-cache-download-process">application cache download
-      process</a>.</p>
-
      </li>
 
      <li><p>For each <a href="#cache-host">cache host</a> associated with an
@@ -47742,8 +47736,9 @@
       5xx response <a href="#concept-http-equivalent-codes" title="concept-http-equivalent-codes">or
       equivalent</a>, 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"><dt>If the URL being processed was flagged as an "explicit
        entry" or a "fallback entry"</dt>
@@ -47764,6 +47759,9 @@
 
        <dt>If the error was a 404 or 410 HTTP response <a href="#concept-http-equivalent-codes" title="concept-http-equivalent-codes">or equivalent</a></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>
@@ -47790,6 +47788,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
+      <a href="#application-cache-download-process">application cache download process</a>.</p>
+
      </li>
 
      <li>
@@ -47860,8 +47862,12 @@
     entries</a>, 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 <a href="#concept-http-equivalent-codes" title="concept-http-equivalent-codes">or
+    equivalent</a>, 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><li><p>Unassociate the <code><a href="#document">Document</a></code> for this entry from
      <var title="">new cache</var>.</li>

Received on Friday, 17 June 2011 09:54:23 UTC