Skip to content

Commit

Permalink
[giow] (1) Support 'no-store' in appcache. This means we can now allo…
Browse files Browse the repository at this point in the history
…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
Hixie committed Jun 7, 2011
1 parent b52b3d2 commit fdffd1c
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 87 deletions.
60 changes: 32 additions & 28 deletions complete.html
Expand Up @@ -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>
Expand Down Expand Up @@ -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>
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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>

Expand All @@ -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>
Expand All @@ -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
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand Down
60 changes: 32 additions & 28 deletions index
Expand Up @@ -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>
Expand Down Expand Up @@ -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>
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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>

Expand All @@ -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>
Expand All @@ -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
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand Down

0 comments on commit fdffd1c

Please sign in to comment.