Policy Generation, Compact Policies, the Safe Zone - Part 3 of Chapter 5 from Web Privacy with P3P (2/4)
Web Privacy with P3P, Chapter 5: Overview and Options
The P3P specification designates /w3c/p3p.xml as the well-known location for policy reference files. P3P user agents automatically check this location for a policy reference file at every site they visit.
Most web sites should be able to place their policy reference files at the well-known location without a problem. However, for sites that do not want to do this, two alternatives are offered: sites can be configured to send a special P3P header with every HTTP response, or
LINK tags that give the location of the policy reference file can be embedded in HTML documents. Using one of these alternatives also gives sites the option of using more than one policy reference file, which allows sites that have more than a few dozen policies (for example, content-distribution networks that have a different policy for each customer) to avoid having an extremely large policy reference file.
The HTTP header alternative is most useful for sites that have decided to use multiple policy reference files. It allows sites to send a pointer to the policy reference file applicable to each request. The down side of using the HTTP header instead of the well-known location is that there may not be a way for a user agent to know a site's policy before requesting a resource. Thus, some user agents may suppress cookies, referer headers, or other information until they receive the P3P response header. Sites that use the HTTP header alternative for content that may be embedded in a web site should consider using a
HINT element (discussed in Chapter 8) in the policy reference file for the site in which the content is embedded. The
HINT element tells web browsers where to look for policy reference files.
LINK tag alternative was designed primarily for sites in which content providers have access to only a designated area of the web server (which does not include the /w3c directory) and do not have the ability to configure the server to send extra HTTP response headers. For example, students who want to provide privacy policies on personal home pages hosted on a university server, or individuals or organizations with sites that do not have their own domains, may want to use this alternative. This alternative has the same drawbacks as using the HTTP header. In addition, sites that choose to use this alternative must add a
LINK tag to every HTML document within the site that is covered by the P3P policy, which may be a time-consuming task. Also, if visitors request non-HTML documents (images, PostScript or PDF files, etc.) directly without following a link from an HTML document on that site, their user agents may be unable to find the policy reference file when
LINK tags are used.
Throughout most of this book, I assume that your site will have separate files for your policy reference file and for each of the policies on your site. However, you can put policies in the same file as a policy reference file, or put multiple policies in a single file. A policy reference file may also reference a policy contained in a different policy reference file.
Web site administration may be easier if these files are separate, as they can be updated independently and set with different expiry intervals. In addition, a company with multiple web servers may want to have policy reference files on each server that all point to a central policy file. Furthermore, if a company has many policies in a single file but most users access only parts of the site covered by one or a small number of these policies, user agents will have to download unneeded policies.
The advantage of combining a policy reference file with policies or combining multiple policies in a single file is that it reduces the number of HTTP requests necessary before a user agent can evaluate a site's policy. For companies with only one or a small number of web servers, it generally makes sense to combine policy and policy reference files.
Created: January 6, 2003
Revised: January 6, 2003