- From: Roy Fielding via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 07 Aug 2012 07:06:53 +0000
- To: public-tracking-commit@w3.org
Update of /w3ccvs/WWW/2011/tracking-protection/drafts
In directory hutz:/tmp/cvs-serv3786
Modified Files:
tracking-dnt.html
Log Message:
(editorial) inline the tracking status representation ABNF and move use section after definition
Index: tracking-dnt.html
===================================================================
RCS file: /w3ccvs/WWW/2011/tracking-protection/drafts/tracking-dnt.html,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -d -r1.141 -r1.142
--- tracking-dnt.html 7 Aug 2012 06:38:44 -0000 1.141
+++ tracking-dnt.html 7 Aug 2012 07:06:51 -0000 1.142
@@ -839,39 +839,16 @@
</p>
</section>
- <section id='status-checks-not-tracked'>
- <h4>Status Checks are Not Tracked</h4>
- <p>
- When sending a request for the tracking status, a user agent
- SHOULD include any cookie data [[COOKIES]] (set prior to the
- request) that would be sent in a normal request to that origin
- server, since that data might be needed by the server to determine
- the current tracking status. For example, the cookie data might
- indicate a prior out-of-band decision by the user to opt-out or
- consent to tracking by that origin server.
- </p>
- <p>
- All requests on the tracking status resource space, including
- the site-wide tracking status resource, MUST NOT be tracked,
- irrespective of the presence, value, or absence of a DNT header
- field, cookies, or any other information in the request.
- In addition, all responses to those requests, including the
- responses to redirected tracking status requests, MUST NOT
- have Set-Cookie or Set-Cookie2 header fields and
- MUST NOT have content that initiates tracking beyond what was
- already present in the request.
- A user agent SHOULD ignore, or treat as an error, any Set-Cookie
- or Set-Cookie2 header field received in such a response.
- </p>
- </section>
-
<section id='status-representation'>
<h3>Representation</h3>
<p>
The representation of a tracking status resource SHALL be provided
in the "application/json" format [[!RFC4627]] and MUST conform to
- the ABNF in <a href="#status-abnf" class="sectionRef"></a>.
- The following is an example tracking status representation that
+ the ABNF for <a>status-object</a> (except that the members within
+ each member-list MAY be provided in any order).
+ </p>
+ <p>
+ The following example tracking status representation
illustrates all of the fields defined by this specification,
most of which are optional.
</p>
@@ -895,15 +872,29 @@
</pre>
<p>
A tracking status representation consists of a single
- <a>status-object</a> containing members that describe the tracking
- status applicable to this user agent's request.
+ <a>status-object</a> containing members that describe the
+ tracking status applicable to the designated resource.
</p>
+ <pre class="abnf">
+<dfn>status-object</dfn> = begin-object member-list end-object
+
+<dfn>member-list</dfn> = tracking ns tracking-v
+ [ vs same-party ns same-party-v ]
+ [ vs partners ns partners-v ]
+ [ vs audit ns audit-v ]
+ [ vs policy ns policy-v ]
+ [ vs control ns control-v ]
+ *( vs extension )
+ </pre>
<p>
A <a>status-object</a> MUST have a member named
<code><a>tracking</a></code> that contains a single character
tracking status value
(<a href="#tracking-status-value" class="sectionRef"></a>).
</p>
+ <pre class="abnf">
+<dfn>tracking</dfn> = %x22 "tracking" %x22
+ </pre>
<p>
For example, the following demonstrates a minimal tracking status
representation that is applicable to any resource that does not
@@ -919,12 +910,20 @@
they are referenced on this site, since all data collected via
those references share the same data controller.
</p>
+ <pre class="abnf">
+<dfn>same-party</dfn> = %x22 "same-party" %x22
+<dfn>same-party-v</dfn> = array-of-strings
+ </pre>
<p>
An OPTIONAL member named <code><a>partners</a></code> MAY be
provided with an array value containing a list of domain names
for third-party services that might be invoked while using this
site but do not share the same data controller as this site.
</p>
+ <pre class="abnf">
+<dfn>partners</dfn> = %x22 "partners" %x22
+<dfn>partners-v</dfn> = array-of-strings
+ </pre>
<p>
An OPTIONAL member named <code><a>audit</a></code> MAY be
provided with an array value containing a list of URI references
@@ -934,6 +933,10 @@
results of that audit; however, if such a resource is not
available, a reference to the auditor is sufficient.
</p>
+ <pre class="abnf">
+<dfn>audit</dfn> = %x22 "audit" %x22
+<dfn>audit-v</dfn> = array-of-strings
+ </pre>
<p>
An OPTIONAL member named <code><a>policy</a></code> MAY be
provided with a string value containing a URI-reference to a
@@ -942,6 +945,10 @@
scope of this protocol and only supplemental to what is described
by this machine-readable tracking status representation.
</p>
+ <pre class="abnf">
+<dfn>policy</dfn> = %x22 "policy" %x22
+<dfn>policy-v</dfn> = string ; URI-reference
+ </pre>
<p>
An OPTIONAL member named <code><a>control</a></code> MAY be
provided with a string value containing a URI-reference to a
@@ -957,12 +964,36 @@
how one might implement an out-of-band consent mechanism is
beyond the scope of this protocol.
</p>
+ <pre class="abnf">
+<dfn>control</dfn> = %x22 "control" %x22
+<dfn>control-v</dfn> = string ; URI-reference
+ </pre>
<p>
Additional <code><a>extension</a></code> members MAY be provided
in the <a>status-object</a> to support future enhancements to
this protocol. A user agent SHOULD ignore extension members
that it does not recognize.
</p>
+ <pre class="abnf">
+<dfn>extension</dfn> = object
+
+<dfn>array-of-strings</dfn> = begin-array
+ [ string *( vs string ) ]
+ end-array
+
+<dfn>ns</dfn> = <name-separator (:), as defined in [[!RFC4627]]>
+<dfn>vs</dfn> = <value-separator (,), as defined in [[!RFC4627]]>
+
+<dfn>begin-array</dfn> = <begin-array ([), as defined in [[!RFC4627]]>
+<dfn>end-array</dfn> = <end-array (]), as defined in [[!RFC4627]]>
+<dfn>begin-object</dfn> = <begin-object ({), as defined in [[!RFC4627]]>
+<dfn>end-object</dfn> = <end-object (}), as defined in [[!RFC4627]]>
+<dfn>object</dfn> = <object, as defined in [[!RFC4627]]>
+<dfn>string</dfn> = <string, as defined in [[!RFC4627]]>
+<dfn>true</dfn> = <true, as defined in [[!RFC4627]]>
+<dfn>false</dfn> = <false, as defined in [[!RFC4627]]>
+<dfn>null</dfn> = <null, as defined in [[!RFC4627]]>
+ </pre>
<p>
Note that the tracking status resource space applies equally to
both first-party and third-party services. An example of a
@@ -985,6 +1016,32 @@
</p>
</section>
+ <section id='status-checks-not-tracked'>
+ <h4>Status Checks are Not Tracked</h4>
+ <p>
+ When sending a request for the tracking status, a user agent
+ SHOULD include any cookie data [[COOKIES]] (set prior to the
+ request) that would be sent in a normal request to that origin
+ server, since that data might be needed by the server to determine
+ the current tracking status. For example, the cookie data might
+ indicate a prior out-of-band decision by the user to opt-out or
+ consent to tracking by that origin server.
+ </p>
+ <p>
+ All requests on the tracking status resource space, including
+ the site-wide tracking status resource, MUST NOT be tracked,
+ irrespective of the presence, value, or absence of a DNT header
+ field, cookies, or any other information in the request.
+ In addition, all responses to those requests, including the
+ responses to redirected tracking status requests, MUST NOT
+ have Set-Cookie or Set-Cookie2 header fields and
+ MUST NOT have content that initiates tracking beyond what was
+ already present in the request.
+ A user agent SHOULD ignore, or treat as an error, any Set-Cookie
+ or Set-Cookie2 header field received in such a response.
+ </p>
+ </section>
+
<section id='status-caching'>
<h3>Caching</h3>
<p>
@@ -1035,62 +1092,6 @@
<a href="#interactive-status-change" class="sectionRef"></a>.
</p>
</section>
-
- <section id='status-abnf'>
- <h3>Status-object ABNF</h3>
- <p>
- The representation of a site's machine-readable tracking status
- MUST conform to the following ABNF for <a>status-object</a>,
- except that the members within each member-list MAY be provided
- in any order.
- </p>
- <pre class="abnf">
-<dfn>status-object</dfn> = begin-object member-list end-object
-<dfn>member-list</dfn> = tracking ns tracking-v
- [ vs same-party ns same-party-v ]
- [ vs partners ns partners-v ]
- [ vs audit ns audit-v ]
- [ vs policy ns policy-v ]
- [ vs control ns control-v ]
- *( vs extension )
-
-<dfn>tracking</dfn> = %x22 "tracking" %x22
-
-<dfn>same-party</dfn> = %x22 "same-party" %x22
-<dfn>same-party-v</dfn> = array-of-strings
-
-<dfn>partners</dfn> = %x22 "partners" %x22
-<dfn>partners-v</dfn> = array-of-strings
-
-<dfn>audit</dfn> = %x22 "audit" %x22
-<dfn>audit-v</dfn> = array-of-strings
-
-<dfn>policy</dfn> = %x22 "policy" %x22
-<dfn>policy-v</dfn> = string ; URI-reference
-
-<dfn>control</dfn> = %x22 "control" %x22
-<dfn>control-v</dfn> = string ; URI-reference
-
-<dfn>extension</dfn> = object
-
-<dfn>array-of-strings</dfn> = begin-array
- [ string *( vs string ) ]
- end-array
-
-<dfn>ns</dfn> = <name-separator (:), as defined in [[!RFC4627]]>
-<dfn>vs</dfn> = <value-separator (,), as defined in [[!RFC4627]]>
-
-<dfn>begin-array</dfn> = <begin-array ([), as defined in [[!RFC4627]]>
-<dfn>end-array</dfn> = <end-array (]), as defined in [[!RFC4627]]>
-<dfn>begin-object</dfn> = <begin-object ({), as defined in [[!RFC4627]]>
-<dfn>end-object</dfn> = <end-object (}), as defined in [[!RFC4627]]>
-<dfn>object</dfn> = <object, as defined in [[!RFC4627]]>
-<dfn>string</dfn> = <string, as defined in [[!RFC4627]]>
-<dfn>true</dfn> = <true, as defined in [[!RFC4627]]>
-<dfn>false</dfn> = <false, as defined in [[!RFC4627]]>
-<dfn>null</dfn> = <null, as defined in [[!RFC4627]]>
- </pre>
- </section>
</section>
<section id='response-error'>
Received on Tuesday, 7 August 2012 07:06:54 UTC