Skip to content
Browse files

[giow] (1) Support 'no-store' in appcache. This means we can now allo…

…w cross-origin HTTPS caching, too, without making things worse than the regular HTTP cache.

git-svn-id: http://svn.whatwg.org/webapps@6194 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
1 parent b52b3d2 commit fdffd1caa2d1455bc676e2edec54a0a696efaf6b @Hixie Hixie committed
Showing with 96 additions and 87 deletions.
  1. +32 −28 complete.html
  2. +32 −28 index
  3. +32 −31 source
View
60 complete.html
@@ -239,7 +239,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1>Web Applications 1.0</h1>
- <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 6 June 2011</h2>
+ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 7 June 2011</h2>
</hgroup><dl><dt>Multiple-page version:</dt>
<dd><a href=http://www.whatwg.org/specs/web-apps/current-work/complete/>http://www.whatwg.org/specs/web-apps/current-work/complete/</a></dd>
<dt>One-page version:</dt>
@@ -64760,11 +64760,12 @@ <h4 id=introduction-6><span class=secno>6.6.1 </span>Introduction</h4>
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>
@@ -65231,11 +65232,6 @@ <h5 id=writing-cache-manifests><span class=secno>6.6.3.2 </span>Writing cache ma
</dl><p>Manifests may contain sections more than once. Sections may be
empty.</p>
- <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>
-
<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
@@ -65431,10 +65427,7 @@ <h5 id=parsing-cache-manifests><span class=secno>6.6.3.3 </span>Parsing cache ma
<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
@@ -65787,7 +65780,7 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
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>
@@ -65812,13 +65805,16 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
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>
@@ -65831,10 +65827,6 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
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
@@ -65979,8 +65971,9 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
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>
@@ -66001,6 +65994,9 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
<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>
@@ -66027,6 +66023,10 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
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>
@@ -66097,8 +66097,12 @@ <h4 id=downloading-or-updating-an-application-cache><span class=secno>6.6.4 </sp
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>
View
60 index
@@ -243,7 +243,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 6 June 2011</h2>
+ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 7 June 2011</h2>
</hgroup><dl><dt><strong>Web developer edition</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
@@ -64750,11 +64750,12 @@ clock.js</pre>
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>
@@ -65227,11 +65228,6 @@ NETWORK:
</dl><p>Manifests may contain sections more than once. Sections may be
empty.</p>
- <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>
-
<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
@@ -65427,10 +65423,7 @@ NETWORK:
<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
@@ -65783,7 +65776,7 @@ NETWORK:
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>
@@ -65808,13 +65801,16 @@ NETWORK:
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>
@@ -65827,10 +65823,6 @@ NETWORK:
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
@@ -65975,8 +65967,9 @@ NETWORK:
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>
@@ -65997,6 +65990,9 @@ NETWORK:
<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>
@@ -66023,6 +66019,10 @@ NETWORK:
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>
@@ -66093,8 +66093,12 @@ NETWORK:
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>
View
63 source
@@ -73777,11 +73777,12 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
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 @@ NETWORK:
<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 @@ NETWORK:
<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 @@ NETWORK:
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 @@ NETWORK:
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 @@ NETWORK:
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 @@ NETWORK:
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 @@ NETWORK:
<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 @@ NETWORK:
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 @@ NETWORK:
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>

0 comments on commit fdffd1c

Please sign in to comment.
Something went wrong with that request. Please try again.