Skip to content
Permalink
Browse files

[giow] (3) Make appcache requests have no referrer, since it's not cl…

…ear what referrer to use.

Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=17687
Affected topics: HTML, Offline Web Applications

git-svn-id: https://svn.whatwg.org/webapps@8791 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
Hixie committed Sep 19, 2014
1 parent 602c631 commit 1b6c046a27731b7541527b7f16011fc0454900f1
Showing with 24 additions and 24 deletions.
  1. +8 −8 complete.html
  2. +8 −8 index
  3. +8 −8 source
<p>Let <var>document</var> be the appropriate <code id=processing-model:document><a href=#document>Document</a></code> as given by the
following list:</p>

<dl class=switch><dt>If there is a specific <i>override referrer source</i><dd>The <i>override referrer source</i>.<dt>When <a href=#navigate id=processing-model:navigate>navigating</a><dd>The <a href=#active-document id=processing-model:active-document>active document</a> of the <a href=#source-browsing-context id=processing-model:source-browsing-context>source browsing context</a>.<dt>When fetching resources for an element<dd>The element's <a id=processing-model:node-document href=https://dom.spec.whatwg.org/#concept-node-document data-x-internal=node-document>node document</a>.</dl>
<dl class=switch><dt>If there is a specific <i>override referrer source</i> (which might be null)<dd>The <i>override referrer source</i>.<dt>When <a href=#navigate id=processing-model:navigate>navigating</a><dd>The <a href=#active-document id=processing-model:active-document>active document</a> of the <a href=#source-browsing-context id=processing-model:source-browsing-context>source browsing context</a>.<dt>When fetching resources for an element<dd>The element's <a id=processing-model:node-document href=https://dom.spec.whatwg.org/#concept-node-document data-x-internal=node-document>node document</a>.</dl>

<li>


<li>

<p>If the <a href=#origin-2 id=processing-model:origin-2>origin</a> of <var>Document</var> is not a scheme/host/port tuple,
then set <var>referrer</var> to the empty string and jump to the step labeled <i>clean
<p>If <var>document</var> is null, or if the <a href=#origin-2 id=processing-model:origin-2>origin</a> of <var>document</var> is not a scheme/host/port tuple,
then set <var>referrer</var> to the empty string and jump to the step labeled <i>cleaned
referrer</i>.</p>

<li>

<li>

<p>If <var>referrer</var> is not the empty string, is not a <a href=http://tools.ietf.org/html/rfc2397#section-2 id=processing-model:data-protocol data-x-internal=data-protocol><code>data:</code> URL</a>, and is not the <a href=#url id=processing-model:url-4>URL</a>
<p><i>Cleaned referrer</i>: If <var>referrer</var> is not the empty string, is not a <a href=http://tools.ietf.org/html/rfc2397#section-2 id=processing-model:data-protocol data-x-internal=data-protocol><code>data:</code> URL</a>, and is not the <a href=#url id=processing-model:url-4>URL</a>
"<code id=processing-model:about:blank><a href=#about:blank>about:blank</a></code>", then generate the <i>address of the resource from which Request-URIs
are obtained</i> as required by HTTP for the <code id=processing-model:http-referer><a href=#http-referer>Referer</a></code> (sic)
header from <var>referrer</var>. <a href=#refsHTTP>[HTTP]</a></p>



<h3 id=offline>7.7 Offline Web applications</h3>
<h3 id=offline>7.7 Offline Web applications</h3>



the availability of updates.<li>

<p><i>Fetching the manifest</i>: <a href=#fetch id=downloading-or-updating-an-application-cache:fetch>Fetch</a> the resource from <var>manifest URL</var> with the <i>synchronous flag</i> set, and let <var>manifest</var> be that resource. HTTP caching semantics should be honored for this
request.</p>
request. The <i>override referrer source</i> must be null.</p>

<p>Parse <var>manifest</var> according to the <a href=#parse-a-manifest id=downloading-or-updating-an-application-cache:parse-a-manifest>rules for
parsing manifests</a>, obtaining a list of <a href=#concept-appcache-explicit id=downloading-or-updating-an-application-cache:concept-appcache-explicit>explicit
<a href=#url id=downloading-or-updating-an-application-cache:url-3>URL</a> <var>manifest URL</var>, with the <i>synchronous flag</i> set and
the <i>manual redirect flag</i> set. If this is an <a href=#concept-appcache-upgrade id=downloading-or-updating-an-application-cache:concept-appcache-upgrade-3>upgrade attempt</a>, then use the <a href=#concept-appcache-newer id=downloading-or-updating-an-application-cache:concept-appcache-newer-4>newest</a> <a href=#application-cache id=downloading-or-updating-an-application-cache:application-cache-15>application cache</a> in <var>cache group</var> as an HTTP cache, and honor HTTP caching semantics (such as
expiration, ETags, and so forth) with respect to that cache. User agents may also have other
caches in place that are also honored.</p>
caches in place that are also honored. The <i>override referrer source</i> must be null.</p>

<p class=note>If the resource in question is already being downloaded for other reasons then
the existing download process can sometimes be used for the purposes of this step, as defined

<p><a href=#fetch id=downloading-or-updating-an-application-cache:fetch-5>Fetch</a> the resource from <var>manifest URL</var> again, with
the <i>synchronous flag</i> set, and let <var>second manifest</var> be that resource.
HTTP caching semantics should again be honored for this request.</p>
HTTP caching semantics should again be honored for this request. The <i>override referrer source</i> must be null.</p>

<p class=note>Since caching can be honored, authors are encouraged to avoid setting the cache
headers on the manifest in such a way that the user agent would simply not contact the network
16 index
<p>Let <var>document</var> be the appropriate <code id=processing-model:document><a href=#document>Document</a></code> as given by the
following list:</p>

<dl class=switch><dt>If there is a specific <i>override referrer source</i><dd>The <i>override referrer source</i>.<dt>When <a href=#navigate id=processing-model:navigate>navigating</a><dd>The <a href=#active-document id=processing-model:active-document>active document</a> of the <a href=#source-browsing-context id=processing-model:source-browsing-context>source browsing context</a>.<dt>When fetching resources for an element<dd>The element's <a id=processing-model:node-document href=https://dom.spec.whatwg.org/#concept-node-document data-x-internal=node-document>node document</a>.</dl>
<dl class=switch><dt>If there is a specific <i>override referrer source</i> (which might be null)<dd>The <i>override referrer source</i>.<dt>When <a href=#navigate id=processing-model:navigate>navigating</a><dd>The <a href=#active-document id=processing-model:active-document>active document</a> of the <a href=#source-browsing-context id=processing-model:source-browsing-context>source browsing context</a>.<dt>When fetching resources for an element<dd>The element's <a id=processing-model:node-document href=https://dom.spec.whatwg.org/#concept-node-document data-x-internal=node-document>node document</a>.</dl>

<li>


<li>

<p>If the <a href=#origin-2 id=processing-model:origin-2>origin</a> of <var>Document</var> is not a scheme/host/port tuple,
then set <var>referrer</var> to the empty string and jump to the step labeled <i>clean
<p>If <var>document</var> is null, or if the <a href=#origin-2 id=processing-model:origin-2>origin</a> of <var>document</var> is not a scheme/host/port tuple,
then set <var>referrer</var> to the empty string and jump to the step labeled <i>cleaned
referrer</i>.</p>

<li>

<li>

<p>If <var>referrer</var> is not the empty string, is not a <a href=http://tools.ietf.org/html/rfc2397#section-2 id=processing-model:data-protocol data-x-internal=data-protocol><code>data:</code> URL</a>, and is not the <a href=#url id=processing-model:url-4>URL</a>
<p><i>Cleaned referrer</i>: If <var>referrer</var> is not the empty string, is not a <a href=http://tools.ietf.org/html/rfc2397#section-2 id=processing-model:data-protocol data-x-internal=data-protocol><code>data:</code> URL</a>, and is not the <a href=#url id=processing-model:url-4>URL</a>
"<code id=processing-model:about:blank><a href=#about:blank>about:blank</a></code>", then generate the <i>address of the resource from which Request-URIs
are obtained</i> as required by HTTP for the <code id=processing-model:http-referer><a href=#http-referer>Referer</a></code> (sic)
header from <var>referrer</var>. <a href=#refsHTTP>[HTTP]</a></p>



<h3 id=offline>7.7 Offline Web applications</h3>
<h3 id=offline>7.7 Offline Web applications</h3>



the availability of updates.<li>

<p><i>Fetching the manifest</i>: <a href=#fetch id=downloading-or-updating-an-application-cache:fetch>Fetch</a> the resource from <var>manifest URL</var> with the <i>synchronous flag</i> set, and let <var>manifest</var> be that resource. HTTP caching semantics should be honored for this
request.</p>
request. The <i>override referrer source</i> must be null.</p>

<p>Parse <var>manifest</var> according to the <a href=#parse-a-manifest id=downloading-or-updating-an-application-cache:parse-a-manifest>rules for
parsing manifests</a>, obtaining a list of <a href=#concept-appcache-explicit id=downloading-or-updating-an-application-cache:concept-appcache-explicit>explicit
<a href=#url id=downloading-or-updating-an-application-cache:url-3>URL</a> <var>manifest URL</var>, with the <i>synchronous flag</i> set and
the <i>manual redirect flag</i> set. If this is an <a href=#concept-appcache-upgrade id=downloading-or-updating-an-application-cache:concept-appcache-upgrade-3>upgrade attempt</a>, then use the <a href=#concept-appcache-newer id=downloading-or-updating-an-application-cache:concept-appcache-newer-4>newest</a> <a href=#application-cache id=downloading-or-updating-an-application-cache:application-cache-15>application cache</a> in <var>cache group</var> as an HTTP cache, and honor HTTP caching semantics (such as
expiration, ETags, and so forth) with respect to that cache. User agents may also have other
caches in place that are also honored.</p>
caches in place that are also honored. The <i>override referrer source</i> must be null.</p>

<p class=note>If the resource in question is already being downloaded for other reasons then
the existing download process can sometimes be used for the purposes of this step, as defined

<p><a href=#fetch id=downloading-or-updating-an-application-cache:fetch-5>Fetch</a> the resource from <var>manifest URL</var> again, with
the <i>synchronous flag</i> set, and let <var>second manifest</var> be that resource.
HTTP caching semantics should again be honored for this request.</p>
HTTP caching semantics should again be honored for this request. The <i>override referrer source</i> must be null.</p>

<p class=note>Since caching can be honored, authors are encouraged to avoid setting the cache
headers on the manifest in such a way that the user agent would simply not contact the network
16 source
<dl class="switch">


<dt>If there is a specific <i>override referrer source</i></dt>
<dt>If there is a specific <i>override referrer source</i> (which might be null)</dt>

<dd>The <i>override referrer source</i>.</dd>


<li>

<p>If the <span>origin</span> of <var>Document</var> is not a scheme/host/port tuple,
then set <var>referrer</var> to the empty string and jump to the step labeled <i>clean
<p>If <var>document</var> is null, or if the <span>origin</span> of <var>document</var> is not a scheme/host/port tuple,
then set <var>referrer</var> to the empty string and jump to the step labeled <i>cleaned
referrer</i>.</p>

</li>

<li>

<p>If <var>referrer</var> is not the empty string, is not a <span data-x="data
<p><i>Cleaned referrer</i>: If <var>referrer</var> is not the empty string, is not a <span data-x="data
protocol"><code>data:</code> URL</span>, and is not the <span>URL</span>
"<code>about:blank</code>", then generate the <i>address of the resource from which Request-URIs
are obtained</i> as required by HTTP for the <code data-x="http-referer">Referer</code> (sic)


<!--TOPIC:Offline Web Applications-->
<h3 id="offline">Offline Web applications</h3>
<h3 id="offline">Offline Web applications</h3> <!--APPCACHE-->

<!-- v2 ideas for appcache:

<li>

<p><i>Fetching the manifest</i>: <span>Fetch</span><!--FETCH--> the resource from <var>manifest URL</var> with the <i>synchronous flag</i> set, and let <var>manifest</var> be that resource. HTTP caching semantics should be honored for this
request.</p> <!-- http-origin privacy sensitive, though it doesn't matter, since this can never
request. The <i>override referrer source</i> must be null.</p> <!-- http-origin privacy sensitive, though it doesn't matter, since this can never
be cross-origin -->

<p>Parse <var>manifest</var> according to the <span data-x="parse a manifest">rules for
data-x="concept-appcache-upgrade">upgrade attempt</span>, then use the <span
data-x="concept-appcache-newer">newest</span> <span>application cache</span> in <var>cache group</var> as an HTTP cache, and honor HTTP caching semantics (such as
expiration, ETags, and so forth) with respect to that cache. User agents may also have other
caches in place that are also honored.</p> <!-- not http-origin privacy sensitive -->
caches in place that are also honored. The <i>override referrer source</i> must be null.</p> <!-- not http-origin privacy sensitive -->

<p class="note">If the resource in question is already being downloaded for other reasons then
the existing download process can sometimes be used for the purposes of this step, as defined

<p><span>Fetch</span><!--FETCH--> the resource from <var>manifest URL</var> again, with
the <i>synchronous flag</i> set, and let <var>second manifest</var> be that resource.
HTTP caching semantics should again be honored for this request.</p> <!-- http-origin privacy
HTTP caching semantics should again be honored for this request. The <i>override referrer source</i> must be null.</p> <!-- http-origin privacy
sensitive, though it doesn't matter, since this can never be cross-origin -->

<p class="note">Since caching can be honored, authors are encouraged to avoid setting the cache

0 comments on commit 1b6c046

Please sign in to comment.
You can’t perform that action at this time.