Dataset

The Public Suffix List: Hostname suffixes for pools of independent domain names

Added By mrflip

The Public Suffix List is a cross-vendor initiative to provide an accurate list of domain name suffixes.

A “public suffix” is one under which Internet users can directly register names. Some examples of public suffixes are “.com”, “.co.uk” and “pvt.k12.wy.us”. The Public Suffix List is a list of all known public suffixes.

The usefulness of this can be seen if we take the example of cookies. In the past, browsers used an algorithm which only denied setting wide-ranging cookies for top-level domains with no dots (e.g. com or org). However, this did not work for top-level domains where only third-level registrations are allowed (e.g. .co.uk). In these cases, websites could set a cookie for .co.uk which would be passed onto every website registered under co.uk.

Since there was and remains no algorithmic method of finding the highest level at which a domain may be registered for a particular top-level domain (the policies differ with each registry), the only method is to create a list. This is the aim of the Public Suffix List.

Software using the Public Suffix List will be able to detemine where cookies may and may not be set, protecting the user from being tracked across sites.

As well as this, the Public Suffix List can also be used to support features such as site grouping in browsers. By knowing where the user-controlled section of the domain name begins and ends, browsers can group cookies and history entries by site in a way that couldn’t easily be done before.
Uses

These are some of the uses of the list we know about. If you are using it for something else, you are encouraged to tell us, because it helps us to assess the potential impact of changes.

Firefox:

  • Restricting cookie-setting
  • Restricting the setting of the document.domain property
  • Sorting in the download manager
  • Sorting in the cookie manager
  • Searching in history
  • “Responsible domain” display for some SSL certificates

In the future it may be used for, for example, restricting DOM Storage allowances on a per-domain basis.

Chromium/Google Chrome (pre-processing, parser):

  • Restricting cookie-setting
  • Determining whether entered text is a search or a website URL

Opera:

  • Restricting cookie-setting
  • Restricting the setting of the document.domain property

regdom-libs: C, Perl and PHP libraries for working with the Public Suffix List.

Guava – Google’s core Java libraries – has a PSL-using class.