Skip to content

Proposal: Change DNT field to a String

Ivan Kirillov edited this page Dec 18, 2013 · 4 revisions

Status: Closed
Comment Period Closes: 12/17/2013
Affects Backwards Compatibility: NO
Relevant Issue: https://github.com/CybOXProject/schemas/issues/96

Background Information

The DNT Header of an HTTP request represents a user's preference for the web site tracking behavior. Although it has not been standardized by W3C, all of the major browsers support this feature.

Currently, the type of this field in CybOX is a URI. This was an oversight, as in current use the field typically takes a value of either '0' or '1' (with the possibility of extensions as described below).

For more information, see http://www.w3.org/TR/tracking-dnt/.

Proposal

The following change should be made in HTTP_Session_Object.xsd:

293 - <xs:element minOccurs="0" name="DNT" type="URIObj:URIObjectType">
293 + <xs:element minOccurs="0" name="DNT" type="cyboxCommon:StringObjectPropertyType">

The choice was made to use a String rather than an Integer or Boolean, since the current working draft allows for unspecified extensions to the "main" preference (0 or 1). Since this field may change in the future, using a String has the greatest possibilites for forward compatibility once the DNT header is standardized by the W3C.

Impact

Previous content created with a "DNT" element as a URIObjectType will be invalid. However, we expect this to be rare, as the DNT header in its current form (a URI) does not match the intent of this field.

Requested Feedback

  1. Are there any reasons why this change should not be made?
  2. Is there a better alternative to using StringObjectPropertyType?
Clone this wiki locally