DNS
Miscellaneous
Publicsuffix

Understanding Public Suffixes

Public suffixes play a crucial role in defining the boundaries of domain names on the internet. Understanding what public suffixes are and how they work is essential for domain registrars, web browsers, and developers. This guide will provide you with a comprehensive overview of public suffixes.

What Are Public Suffixes?

A public suffix is the part of a domain name that is under the control of a domain registry or a public authority. It represents the highest level at which domain names can be registered. Public suffixes are essential for determining the scope and security context of a domain.

In contrast, the part of the domain name that comes before the public suffix is considered the "registrable domain." Registrable domains are under the control of individual domain owners or organizations and can be registered for various purposes.

Here are some examples to illustrate the concept of public suffixes:

  • The public suffix in "example.com" is "com," as it is managed by the Internet Corporation for Assigned Names and Numbers (ICANN).
  • In "example.co.uk," the public suffix is "co.uk," which is managed by Nominet, a domain registry.
  • "example.blogspot.com" has "com" as the public suffix, while "blogspot.com" is the registrable domain.

Why Are Public Suffixes Important?

  1. Cookie Security: Web browsers use public suffix information to prevent websites from setting cookies on high-level domains. This helps protect user privacy and security by preventing cross-site tracking.

  2. Cross-Origin Security: Public suffixes are critical for enforcing the same-origin policy, which restricts web pages from making requests to domains that are not in the same public suffix.

  3. Subdomain Isolation: Understanding public suffixes is essential for domain registrars to manage subdomains properly. It ensures that subdomains are not mistakenly treated as separate domains for registration purposes.

Applying for a Public Suffix

If you want to apply for a new public suffix or make updates to existing entries, you can do so by submitting a pull request to the Public Suffix List repository (opens in a new tab) on GitHub. The Public Suffix List is a community-driven project that maintains a comprehensive list of public suffixes used by web browsers and other software.

Here are the general steps to apply for a new public suffix:

  1. Fork the Repository: Fork the Public Suffix List repository on GitHub to create your own copy.

  2. Edit the List: Add or modify entries in the public_suffix_list.dat file in your forked repository. Follow the format and guidelines provided in the repository's documentation.

  3. Submit a Pull Request: After making the necessary changes, submit a pull request to the original Public Suffix List repository. Provide a clear explanation of your proposed changes in the pull request description.

  4. Community Review: The community and maintainers of the Public Suffix List will review your pull request. They may request clarifications or suggest improvements.

  5. Approval and Merge: Once your changes are approved, they will be merged into the official Public Suffix List, and your public suffix entry will be available for use.

Remember that the Public Suffix List is a collaborative effort, and maintaining accurate and up-to-date information is crucial for the security and functionality of the web. Be sure to follow the guidelines and contribute responsibly.

Thank you for learning about public suffixes, their significance, and how to apply for them. Public suffixes play a vital role in shaping the internet's security and functionality.