Reverse domain name notation
This article relies largely or entirely on a single source. (May 2011) |
Reverse domain name notation (or reverse-DNS) is a naming convention for components, packages, types or file names used by a programming language, system or framework. Reverse-DNS strings are based on registered domain names, with the order of the components reversed for grouping purposes. For example, if a company making the product "MyProduct" has the domain name example.com
, they could use the reverse-DNS string com.example.MyProduct
as an identifier for that product. Reverse-DNS names are a simple way of eliminating namespace collisions, since any domain name is globally unique to its registered owner.
History
The first appearance of reversed DNS strings predated the Internet domain name standards. The UK Joint Academic Networking Team (JANET) used this order in its Name Registration Scheme, before the Internet domain name standard was established. For example, the name uk.ac.bris.pys.as
was interpreted as a host named as
within the UK (top level domain .uk
), while the Internet standard would have interpreted it as a host named uk
within the American Samoa top level domain (.as
). During the period while both JANET-style (big-endian and Internet-style (little-endian) addresses were in use, mailers and gateway sites had ad-hoc workarounds to handle the differences, but could still be confused.
Reverse-DNS for identifier strings first became widely used with the Java platform.[citation needed]
Examples
Examples of systems that use reverse-DNS are Sun Microsystems' Java platform and Apple's Uniform Type Identifier or UTI. The Android operating system also makes use of the notation for classifying applications, as the Dalvik virtual machine made use of Java.
dconf which is the configuration back end used by GNOME.
Example of reverse-DNS strings are:
- com.adobe.postscript-font (UTI string for Adobe Systems's PostScript fonts)
- com.apple.ostype (UTI string for Apple's OSType)
- org.omg.CORBA (Java library for CORBA)
- org.w3c.dom (Java library for W3C's DOM)
- ar.com.mydomain (for International domains)
References
- "Apple Developer Connection: Introduction to Uniform Type Identifiers Overview". 2005-11-09. Retrieved 2013-04-04.