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
Most of the world follows the Internet standard and writes email addresses starting with the name of the computer and ending up with the name of the country. In the U.K., the Joint Academic Networking Team (JANET) had decided to do it the other way round in its Name Registration Scheme, JANET NRS, before the Internet domain standard was established. Most gateway sites have ad-hockery in their mailers to handle this, but can still be confused. In particular, the address me@uk.ac.bris.pys.as could be interpreted in JANET's big-endian way as one in the U.K. (domain uk) or in the standard little-endian way as one in American Samoa (domain as) on the opposite side of the world.[1]
Reverse-DNS first became widely used with the Java platform, and has since been used for other systems, for example, ActionScript 3 packages and Android applications.[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
- ^ Jargon File: Big-endian
- "Apple Developer Connection: Introduction to Uniform Type Identifiers Overview". 2005-11-09. Retrieved 2013-04-04.