Jump to content

Reverse domain name notation: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Off
Tags: Reverted Mobile edit Mobile web edit
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{verify|date=May 2024}}
{{verify|date=May 2024}}

{{Short description|A reversed DNS name notation}}
{{Short description|A reversed DNS name notation}}
{{confuse|Reverse DNS lookup}}
{{confuse|Reverse DNS lookup}}
[[File:Android_9.0_Reverse-DNS_filesystem_hierarchy.png|thumb|An example of reverse-DNS filesystem hierarchy]]
[[File:Android_9.0_Reverse-DNS_filesystem_hierarchy.png|thumb|An example of reverse-DNS filesystem hierarchy]]
{{Wikifunctions|Z19112}}
'''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]] <code>example.com</code>, they could use the reverse-DNS string <code>com.example.MyProduct</code> as an identifier for that product. Reverse-DNS names are a simple way of eliminating [[Naming_collision|namespace collisions]], since any domain name is globally unique to its registered owner.
'''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]] <code>example.com</code>, they could use the reverse-DNS string <code>com.example.MyProduct</code> as an identifier for that product. Reverse-DNS names are a simple way of eliminating [[Naming_collision|namespace collisions]], since any registered domain name is globally unique to its owner (with [[alt root]]s making exceptions to this rule possible but unlikely).


==History==
==History==
The first appearance off reversed DNS strings predated the Internet domain name standards. The UK Joint Academic Networking Team ([[JANET]]) used this order in its [[JANET NRS|Name Registration Scheme]], before the Internet domain name standard was established. For example, the name <code>uk.ac.bris.pys.as</code> was interpreted as a host named <code>as</code> within the UK (top level domain <code>[[.uk]]</code>), while the Internet standard would have interpreted it as a host named <code>uk</code> within the American Samoa top level domain (<code>[[.as]]</code>). During the period while both [[big-endian|JANET-style]] and [[little-endian|Internet-style]] addresses were in use, mailers and gateway sites had ad-hoc workarounds to handle the differences, but could still be confused.
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 [[JANET NRS|Name Registration Scheme]], before the Internet domain name standard was established. For example, the name <code>uk.ac.bris.pys.as</code> was interpreted as a host named <code>as</code> within the UK (top level domain <code>[[.uk]]</code>), while the Internet standard would have interpreted it as a host named <code>uk</code> within the American Samoa top level domain (<code>[[.as]]</code>). During the period while both [[big-endian|JANET-style]] and [[little-endian|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]].{{Citation needed|reason=need a source for the chronology and why they're particularly historic|date=January 2013}}
Reverse-DNS for identifier strings first became widely used with the [[Java platform]].{{Citation needed|reason=need a source for the chronology and why they're particularly historic|date=January 2013}}
Line 14: Line 14:
Examples of systems that use reverse-DNS notation are:
Examples of systems that use reverse-DNS notation are:


* [[Java (software platform)|Java]] generally uses it for namespaces, including [[Java package|package]]s and [[Java Platform Module System|module]]s
* [[Sun Microsystems]]' [[Java platform]] for namespaces
* [[Apple Inc.|Apple]]'s [[Uniform Type Identifier]] (UTI)<ref>{{cite web |url=https://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/understanding_utis/understand_utis_intro/understand_utis_intro.html |title=Apple Developer Connection: Introduction to Uniform Type Identifiers Overview|date=2005-11-09 |accessdate=2013-04-04}}</ref>
* [[Apple Inc.|Apple]]'s [[Uniform Type Identifier]] (UTI)<ref>{{cite web |url=https://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/understanding_utis/understand_utis_intro/understand_utis_intro.html |title=Apple Developer Connection: Introduction to Uniform Type Identifiers Overview|date=2005-11-09 |accessdate=2013-04-04}}</ref>
* The [[Android (operating system)|Android]] operating system, for classifying applications (because the [[Dalvik (software)|Dalvik]] virtual machine was based on Java)
* The [[Android (operating system)|Android]] operating system, for classifying applications (because the [[Dalvik (software)|Dalvik]] virtual machine was based on Java)
* [[dconf]], the configuration [[Front and back ends|backend]] used by [[GNOME]]
* [[dconf]], the configuration [[Front and back ends|backend]] used by [[GNOME]]
* ginitd 'service' identifiers
* ginitd 'service' identifiers
* The [[freedesktop.org]] Desktop Entry Specification<ref>{{cite web |title=Desktop Entry Specification |url=https://specifications.freedesktop.org/desktop-entry-spec/ |publisher=freedesktop.org |accessdate=15 November 2020}}</ref>
* The [[freedesktop.org]] Desktop Entry Specification<ref>{{cite web |title=Desktop Entry Specification |url=https://specifications.freedesktop.org/desktop-entry-spec/ |publisher=freedesktop.org |accessdate=15 November 2020}}</ref> and D-Bus Specification<ref name="dbus">{{cite web |title=D-Bus Specification |url=https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names |website=dbus.freedesktop.org}}</ref>
* [[Flatpak]] also uses a unique reverse-DNS identifier for each application, aligning with freedesktop.org standard<ref name="flatpak">{{cite web |title=Requirements & Conventions |url=https://docs.flatpak.org/en/latest/conventions.html |website=Flatpak |language=en}}</ref>
* [[ISCSI#Addressing|iSCSI Qualified Naming]]
* [[ISCSI#Addressing|iSCSI Qualified Naming]]


Line 38: Line 39:


==External links==
==External links==
* [http://wiki.eclipse.org/index.php/Naming_Conventions Eclipse Naming Conventions]
* [https://github.com/eclipse-platform/eclipse.platform/blob/master/docs/Naming_Conventions.md Eclipse Naming Conventions]
* [https://gcc.gnu.org/ml/java/2000-04/msg00095.html Re: gnu.* namespace discussion]
* [https://gcc.gnu.org/ml/java/2000-04/msg00095.html Re: gnu.* namespace discussion]


[[Category:Domain Name System off
[[Category:Domain Name System]]

Latest revision as of 19:22, 21 December 2024

An example of reverse-DNS filesystem hierarchy

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

[edit]

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 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.[citation needed]

Examples

[edit]

Examples of systems that use reverse-DNS notation are:

Some examples of reverse-DNS strings are:

See also

[edit]

References

[edit]
  1. ^ "Apple Developer Connection: Introduction to Uniform Type Identifiers Overview". 2005-11-09. Retrieved 2013-04-04.
  2. ^ "Desktop Entry Specification". freedesktop.org. Retrieved 15 November 2020.
  3. ^ "D-Bus Specification". dbus.freedesktop.org.
  4. ^ "Requirements & Conventions". Flatpak.
[edit]