
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 registered domain name is globally unique to its owner (with
alt roots making exceptions to this rule possible but unlikely).
History
The first appearance of reversed DNS strings predated the Internet domain name standards. The UK Joint Academic Networking Team (
JANET
Janet may refer to:
Names
* Janet (given name)
Surname
* Charles Janet (1849–1932), French engineer, inventor and biologist, known for the Left Step periodic table
* Jules Janet (1861–1945), French psychologist and psychotherapist
* Maur ...
) 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
In computer network engineering, an Internet Standard is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force (IETF). They allow ...
would have interpreted it as a host named
uk
within the American Samoa top level domain (
.as
). During the period while both
JANET-style and
Internet-style 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
Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms fr ...
.
Examples
Examples of systems that use reverse-DNS notation are:
*
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
generally uses it for namespaces, including
packages and
modules
*
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
Uniform Type Identifier (UTI)
* The
Android operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
, for classifying applications (because the
Dalvik virtual machine was based on Java)
*
dconf, the configuration
backend used by
GNOME
* ginitd 'service' identifiers
* The
freedesktop.org Desktop Entry Specification
and
D-Bus Specification
*
Flatpak also uses a unique reverse-DNS identifier for each application, aligning with freedesktop.org standard
*
iSCSI Qualified Naming
Some examples of reverse-DNS strings are:
*
com.adobe.postscript-font
,
UTI string for
Adobe Systems
Adobe Inc. ( ), formerly Adobe Systems Incorporated, is an American software, computer software company based in San Jose, California. It offers a wide range of programs from web design tools, photo manipulation and vector creation, through to ...
's
PostScript
PostScript (PS) is a page description language and dynamically typed, stack-based programming language. It is most commonly used in the electronic publishing and desktop publishing realm, but as a Turing complete programming language, it c ...
fonts
*
com.apple.ostype
,
UTI string for
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
OSType
*
org.omg.CORBA
,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
library for
CORBA
*
org.w3c.dom
,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
library for
W3C's
DOM
*
com.eu.gershwin.DeviceManager
, a ginitd service identifier commonly assigned to
udev.
*
org.kde.dolphin.desktop
, a
desktop file name
See also
*
Non-Internet email address
References
{{Reflist
External links
Eclipse Naming Conventions
Domain Name System