CVS WWW/2011/tracking-protection/drafts

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