- From: CVS User rfieldin <cvsmail@w3.org>
- Date: Sat, 29 Mar 2014 02:07:51 +0000
- To: public-tracking-commit@w3.org
Update of /w3ccvs/WWW/2011/tracking-protection/drafts
In directory gil:/tmp/cvs-serv10396
Modified Files:
tracking-dnt.html
Log Message:
(editorial) rephrase the requirements on generating a DNT header field to match new HTTP standard
--- /w3ccvs/WWW/2011/tracking-protection/drafts/tracking-dnt.html 2014/03/26 04:03:47 1.251
+++ /w3ccvs/WWW/2011/tracking-protection/drafts/tracking-dnt.html 2014/03/29 02:07:51 1.252
@@ -346,7 +346,7 @@
User agents often include user-installable <dfn>extensions</dfn>, also
known as <dfn>add-ons</dfn> or <dfn>plug-ins</dfn>, that are
capable of modifying configurations and making network requests. From
- the user's perspective, these components are considered part of the
+ the user's perspective, these extensions are considered part of the
user agent and ought to respect the user's configuration of a tracking
preference. However, there is no single standard for extension
interfaces. A user agent that allows extensions to directly make or
@@ -439,35 +439,36 @@
<h3>DNT Header Field for HTTP Requests</h3>
<p>
- The <dfn>DNT</dfn> header field is hereby defined as the means for
- expressing a user's tracking preference via HTTP [[!HTTP]].
+ The <dfn>DNT</dfn> header field is a mechanism for expressing the
+ user's tracking preference in an HTTP request [[!HTTP]].
</p>
<pre class="abnf">
<dfn>DNT-field-name</dfn> = "DNT"
<dfn>DNT-field-value</dfn> = ( "0" / "1" ) *DNT-extension
-<dfn>DNT-extension</dfn> = %x21 / %x23-2B / %x2D-5B / %x5D-7E
- ; excludes CTL, SP, DQUOTE, comma, backslash
</pre>
<p>
- A user agent MUST send the <a>DNT</a> header field on all HTTP
- requests if (and only if) a tracking preference is
- <a>enabled</a>.
- A user agent MUST NOT send the <a>DNT</a> header field if a
- tracking preference is <a>not enabled</a>.
- </p>
- <p>
- The DNT field-value sent by a user agent MUST begin with the
- numeric character "1" (%x31) if a tracking preference is
- <a>enabled</a>, the preference is for no tracking, and
- there is not an exception for the origin server
- targeted by this request.
- </p>
- <p>
- The DNT field-value sent by a user agent MUST begin with the
- numeric character "0" (%x30) if a tracking preference is
- <a>enabled</a> and the preference is to allow tracking in general
- or by specific exception for the origin server targeted by this
- request.
+ A user agent MUST NOT generate a <a>DNT</a> header field if the
+ user's tracking preference is <a>not enabled</a>.
+ </p>
+ <p>
+ A user agent MUST generate a <a>DNT</a> header field with a
+ field-value that begins with the numeric character "1" (%x31) if the
+ user's tracking preference is <a>enabled</a>, their preference is
+ for <a>DNT:1</a>, and no exception has been granted for the request
+ target (see <a href="#exceptions" class="sectionRef"></a>).
+ </p>
+ <p>
+ A user agent MUST generate a <a>DNT</a> header field with a
+ field-value that begins with the numeric character "0" (%x30) if the
+ user's tracking preference is <a>enabled</a> and their preference is
+ for <a>DNT:0</a> or an exception has been granted for the request
+ target.
+ </p>
+ <p>
+ A proxy MUST NOT generate a <a>DNT</a> header field unless it has
+ been specifically installed or configured to do so by the user
+ making the request and adheres to the above requirements as if it
+ were a user agent.
</p>
<pre class="example">
GET /something/here HTTP/1.1
@@ -476,33 +477,35 @@
</pre>
<p>
- The remainder of the DNT field-value after the initial character is
- reserved for future extensions. User agents that do not implement
- such extensions MUST NOT send DNT-extension characters in the DNT
- field-value. Servers that do not implement such extensions SHOULD
- ignore anything beyond the first character.
+ The remainder of the DNT field-value, after the initial character,
+ is reserved for future extensions. DNT extensions can only be
+ transmitted when a tracking preference is <a>enabled</a>.
</p>
+ <pre class="abnf">
+<dfn>DNT-extension</dfn> = %x21 / %x23-2B / %x2D-5B / %x5D-7E
+ ; excludes CTL, SP, DQUOTE, comma, backslash
+ </pre>
<p>
- DNT extensions are to be interpreted as modifiers to the
+ For example, additional characters might indicate modifiers to the
main preference expressed by the first digit, such that the main
- preference will be obeyed if the recipient does not understand the
- extension. Hence, a DNT-field-value of "1xyz" can be thought of
- as <q>do not track, but if you understand the
- refinements defined by x, y, or z, then adjust my preferences
- according to those refinements.</q>
- DNT extensions can only be transmitted when a tracking
- preference is <a>enabled</a>.
+ preference will be understood if the recipient does not understand
+ the extension. Hence, a DNT-field-value of "1xyz" can be thought of
+ as <q>do not track, but if you understand the refinements defined by
+ x, y, or z, then adjust my preferences according to those
+ refinements.</q>
</p>
<p>
+ User agents that do not implement DNT extensions MUST NOT send
+ DNT-extension characters in the DNT field-value.
+ Servers that do not implement DNT extensions SHOULD ignore anything
+ beyond the first character.
+ </p>
+ <p class="note">
The extension syntax is restricted to visible ASCII characters that
can be parsed as a single word in HTTP and safely embedded in a
JSON string without further encoding
(<a href="#status-representation" class="sectionRef"></a>).
- Since the DNT header field is intended to be sent on every request,
- when enabled, designers of future extensions ought to use as few
- extension characters as possible.
- </p>
- <p class="note">At most one DNT header field can be present in a valid
+ At most one DNT header field can be present in a valid
request [[!HTTP]].
</p>
</section>
Received on Saturday, 29 March 2014 02:07:52 UTC